Требуется два параметра. Первый из них - v
, второй - из function
.
В F # function
- это syntacti c сахар для match
. В частности, слово function
означает fun x -> match x with
.
Таким образом, вы можете прочитать свой код как:
let rec lookup v = fun x -> match x with
| (v', k) :: vtab -> if v = v' then k else lookup v vtab
| (_ : Sym) -> failwith ("unbound: " + v)
Что, в свою очередь, совпадает с:
let rec lookup v x = match x with
| (v', k) :: vtab -> if v = v' then k else lookup v vtab
| (_ : Sym) -> failwith ("unbound: " + v)