Frage

Was OCaml Bibliotheken gibt, die faul Liste Handhabung zur Verfügung stellen? Ich suche etwas in diese Richtung:

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

Die Integration mit der Stream Art und syntaktischem Zucker für Rückzieher camlp4 Parser wären schön.

War es hilfreich?

Lösung

Ocaml Batterien eine faul Listenmodul , überprüfen Sie die to_stream Funktion aus. Was Rückzieher, können Sie jetzt camlp4 Stream-Parser Blick in, dass Sie eine Stream.t haben.

Andere Tipps

Außerdem gibt es einen faulen Listenmodul Cf_seq in meinem OCaml Network Application Environment Core Foundation genannt. In der Tat habe ich eine ganze passle funktionaler Datenstrukturen. Es ist alles unter einer 2-Klausel-BSD-Lizenz. Genießen Sie.

Aktualisieren : Der Code wurde umbenannt in " Oni " und es ist jetzt bei BitBucket gehostet. Sie können die auch benutzen GODI Paket für es.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top