camlspotter avatar camlspotter committed 66ff860

port to 4.00

Comments (0)

Files changed (4)

 OCAMLPACKS[] =
     pcre
     sexplib
-    type-conv
+    type_conv
     xml-light
 
 MyOCamlPackage(hasexp, $(FILES), $(EMPTY), $(EMPTY))
 open Sexp
 
 module Z = Zlist.Lazy
-let (!!) = Z.(!!)
 open Zlist.Infix
 
 type filter = Sexp.t -> Sexp.t Zlist.t
   in
   zlist ()
 
-
-let of_list l =
-  let rec of_list = function
-    | [] -> Z.return Nil
-    | x::xs -> Z.return (Cons (x, of_list xs))
-  in
-  ref (of_list l)
-
 let is_nil t = hd t = None
 
 let rec map ~f t =
   filter_map t ~f:(fun v ->
     if f v then Some v else None)
 
+(* CR jfuruse: Completely wrong *)
 let fold_right ~f t ~init = 
   let rec fold_right_ ~f t ~init =
     match Lazy.force t with
 module Lazy : sig
   type 'a t
   val (!!) : 'a Lazy.t -> 'a
+  module Infix : sig
+    val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
+    val (>>|) : 'a t -> ('a -> 'b) -> 'b t
+  end
 end
 
 type 'a t with sexp
 val append : 'a t -> 'a t -> 'a t
 val bind : 'a t -> ('a -> 'b t) -> 'b t
 
+val of_list : 'a list -> 'a t
+
 (* force functions which may loop infinite *)
 val to_list : 'a t -> 'a list
 val force : 'a t -> unit
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.