标签: ocaml
我读了一个程序,其定义如下:
type 'a queue = ('a list * 'a list) ref
我不懂这里的语法。它是一个联盟还是什么?
答案 0 :(得分:2)
这是同义词/别名。类型('a list * 'a list) ref在OCaml中已经有意义(它是对'a类型的一对列表的引用),我们给它一个新的,更短的名称'a queue。更准确地说,queue是参数化类型的名称,参数在此处命名为'a。
('a list * 'a list) ref
'a
'a queue
queue