有哪些用于惰性列表处理的OCaml库?

有哪些用于惰性列表处理的OCaml库?,ocaml,backtracking,lazylist,Ocaml,Backtracking,Lazylist,有哪些OCaml库提供延迟列表处理?我正在寻找以下线索: type 'a lazy_list = (*'*) | Nil | Cons of 'a * 'a lazy_list lazy_t let from f = let rec gen n = lazy ( match f n with | Some x -> Cons (x, gen (n + 1)) | N

有哪些OCaml库提供延迟列表处理?我正在寻找以下线索:

type 'a lazy_list = (*'*)
  | Nil
  | Cons of 'a * 'a lazy_list lazy_t

let from f = 
  let rec gen n = 
    lazy 
      (
        match f n with 
          | Some x ->
              Cons (x, gen (n + 1))
          | None ->
              Nil
      )
  in 
    gen 0

集成
类型和语法sugar用于回溯Camlp4解析器将非常好。

有一个,请查看
to_Stream
函数。至于回溯,现在可以查看CAMLP4的流解析器,因为你有一个流。t.< /p> ,还有一个懒惰列表模块,名为 CFSeq在我的核心基础。事实上,我写了一整段函数数据结构。这一切都可以在2条款BSD许可下使用。享受


更新:代码已重命名为“”,现在托管在BitBucket上。您也可以使用该软件包。

谢谢,懒惰列表模块非常方便。但不确定流解析器,因为它们不会回溯。但我会从这里找到答案的camlp4不会后退吗?也许我在想camlp5?其中一个(或两者)通过连续性进行回溯…啊,是的,似乎是camlp5。谢谢电池库现在具有不同的属性。
Lazy.t
应使用,而不是
Lazy\u t