如何在奥卡姆尔中定义字节


这就是

我目前在ocaml中为程序定义字节和位的方式:

type bit = Zero of int | One of int
type byte_t = bit * bit * bit * bit * bit * bit * bit * bit
type block = byte_t * byte_t * byte_t * byte_t * byte_t * byte_t

这些都是超冗长的定义,在实现时会导致很多问题。

有没有更好的方法来实施这些?

在现实世界的OCaml编程中,我们通常使用char作为字节的数据类型。它有 8 位。

你对bit的定义很奇怪。它应该很简单:

type bit = Zero | One

或者您可以改用bool

如果您正在做家庭作业或学习代数数据构建方式,那么故事可能会有所不同。

最新更新