需要解释CML的语法

时间:2013-12-08 04:00:24

标签: concurrency sml ml

有人可以解释一下单元数据类型的语法:

datatype 'a request = READ | WRITE of 'a

datatype 'a cell = CELL of {
  reqCh : 'a request chan,
  replyCh : 'a chan
}

1 个答案:

答案 0 :(得分:0)

我不确定你对此感到困惑,但这应该可以解释一下这些类型。

数据类型'a cell有一个构造函数CELL,其参数是一个包含两个字段的记录:
reqCh'a request chanreplyCh'a chan

您没有提供chan的定义,因此我无法澄清这一点。但是,一个 'a request有两个构造函数READWRITE。前者没有争论,而 第二个采用'a类型的参数。

例如,给定某种类型tt request chan xt chan y,您可以使用以下内容:

val aCell : t cell = CELL {reqCh = x, replyCh = y}