OCaml中的"[<>]"是什么意思?

Jac*_*ale 6 ocaml functional-programming camlp4

我见过一些源代码

let rec parse_document = parser
    | [< len = parse_int32; st; >] ->
      parse_list [] (ES.take_int32 len st)
    | [< >] -> malformed "parse_document"
Run Code Online (Sandbox Code Playgroud)

我能知道[< >]里面是什么吗?谷歌关于这种迹象太难了.

gas*_*che 7

这是Stream数据类型的语法糖.它的操作在" 使用OCaml开发应用程序 "一书的这一章中有详细描述.

语法糖不是内置于编译器中的,它需要由Camlp4预处理器进行预处理.为此,您必须添加-pp camlp4o到编译命令行.