Я не могу понять этот код ocaml из исходного кода компилятора ocaml:
File: d:\src\ocaml-4.07.0\driver\pparse.ml
50: type 'a ast_kind =
51: | Structure : Parsetree.structure ast_kind
52: | Signature : Parsetree.signature ast_kind
там определить тип ast_kind, определить параметр типа 'a, но не использовать его?
Я знаю, как обычно используют определение типа следующим образом:
type a=
|A of int
|B of int
так что
Structure : Parsetree.structure ast_kind
означает, что? Типом структуры является Parsetree.structure? или ast_kind?
Я прочитал официальный документ:
http://caml.inria.fr/pub/docs/manual-ocaml-312/manual016.html#@manual.kwd53
Скажите, только в определении записи можно использовать ":"
type-representation ::= = constr-decl { | constr-decl }
∣ = { field-decl { ; field-decl } }
field-decl ::= field-name : poly-typexpr
∣ mutable field-name : poly-typexpr
Так в чем смысл этого сегмента кода? Спасибо!