我在OCaml的一个函数,它应该合并两个列表:这个表达键入“列表,但预计类型的表达式”一
let rec merge (list1, list2) =
match (list1, list2) with
([], []) -> merge (List.tl list1, List.tl list2) :: List.hd list1 :: List.hd list2
|(_, []) -> merge (List.tl list1, list2) :: List.hd list1
|([], _) -> merge (list1, List.tl list2) :: List.hd list2;;
但由于某些原因,编译器不会让这样的代码通过退出:
Error: This expression has type 'a list but an expression was expected of type 'a The type variable 'a occurs inside 'a list
我该如何指定这些列表'我试图通过,而不是'一个?