正如标题所说,我不明白为什么类型不正确。有什么想法吗?
let separe l x = let rec aux l1 l2 l x = match l with
|[]->l1 l2
|t::q when t<=x->aux (t::l1) l2 q x
|t::q ->aux l1 (t::l2) q x
in aux [] [] l x
该表达式的类型为“a list”,但第 3 行的表达式应为“b->”c 类型。
我似乎无法弄清楚出了什么问题
您在第 2 行写了
l1 l2
,因此 OCaml 认为 l1
是一个函数,然后当您尝试在第 3 行传递 l1
的列表时会抱怨。