无论我读什么教程或手册,OCaml类型总是让我感到困惑。我需要定义一个名为test的类型,其中包含以下形式:
一个类型为('a, 'b) test,它具有以下一种形式之一: Empty,T t,N n,Seq [x1...xn]
我知道如何做前三个,但我绝对不知道如何定义最后一个形式。这是我的代码:
type ('nonterm, 'term) test =
| Empty
| T of 'term
| N of 'nonterm
| ????
对于seq,我需要匹配子表达式x1到xn的实例。如果x=0,则为空。有人能帮忙吗?提前致谢。