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

t0y*_*yv0 3 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))
          | None ->
              Nil
      )
  in 
    gen 0
Run Code Online (Sandbox Code Playgroud)

回溯 Camlp4解析器的Stream类型和语法糖的集成将是很好的.

nlu*_*oni 6

Ocaml Batteries有一个懒惰列表模块,查看to_stream功能.至于回溯,你可以查看camlp4的流解析器,因为你有一个Stream.t.