Types 在ocaml中定义新的数据类型

Types 在ocaml中定义新的数据类型,types,ocaml,Types,Ocaml,有人能解释一下我们如何在Ocaml中定义新的数据类型吗?我对Ocaml一无所知。比如说,我必须定义一个新类型bitseq,也就是说所有的二进制数 所以,我在网上学习了各种教程之后,为它所做的是 类型num=Nil | 0 | 1并尝试了它的一些变体,但没有成功。您是否查看了关于变体类型的部分 每个案例都由一个名为构造函数的名称标识,该名称用于构造变量类型的值和通过模式匹配检查它们。构造函数名称大写,以区别于变量名称(必须以小写字母开头) 因此,不能将0或1用作构造函数名称。如果我是你,我不关心二

有人能解释一下我们如何在Ocaml中定义新的数据类型吗?我对Ocaml一无所知。比如说,我必须定义一个新类型bitseq,也就是说所有的二进制数

所以,我在网上学习了各种教程之后,为它所做的是
类型
num=Nil | 0 | 1并尝试了它的一些变体,但没有成功。

您是否查看了关于变体类型的部分

每个案例都由一个名为构造函数的名称标识,该名称用于构造变量类型的值和通过模式匹配检查它们。构造函数名称大写,以区别于变量名称(必须以小写字母开头)

因此,不能将
0
1
用作构造函数名称。如果我是你,我不关心二进制数表示中的前导零,我会选择以下方法:

type bit = Zero | One
type bitseq = bit list