type (ty1,ty2) btree = Empty
  | Node of (ty1,ty2) * (ty1,ty2) btree * (ty1,ty2) btree;;

这是我写一个构造函数的代码。写下(ty1,ty2) tree类型的OCaml表达式,以表示合适的ty1ty2类型,这些类型表示我们感兴趣的树。
When I run that
7 | type (ty1,ty2) btree = Empty
          ^^^
Error: Syntax error

最佳答案

类型变量需要以撇号'开头,以将其与具体类型区分开。
Node的第一个参数的语法也无效。我认为您的意思是成为一个元组:

type ('ty1, 'ty2) btree = Empty
  | Node of ('ty1 * 'ty2) * ('ty1, 'ty2) btree * ('ty1, 'ty2) btree;;

10-03 01:06