diff --git a/.merlin b/.merlin index 33392d20..f6234189 100644 --- a/.merlin +++ b/.merlin @@ -1,17 +1,31 @@ -S core -S misc -S string -S pervasives -S tests -S examples +S src/core +S src/data/ +S src/io +S src/iter/ +S src/advanced/ +S src/lwt/ +S src/sexp/ +S src/threads/ +S src/misc +S src/string +S src/pervasives S benchs -B _build/core -B _build/misc -B _build/string -B _build/pervasives -B _build/tests +S examples +S tests +B _build/src/core +B _build/src/data/ +B _build/src/io +B _build/src/iter/ +B _build/src/advanced/ +B _build/src/lwt/ +B _build/src/sexp/ +B _build/src/threads/ +B _build/src/misc +B _build/src/string +B _build/src/pervasives +B _build/benchs B _build/examples -B _build/benchs/ +B _build/tests PKG oUnit PKG benchmark PKG threads diff --git a/_oasis b/_oasis index 8d94fed6..610d5ea5 100644 --- a/_oasis +++ b/_oasis @@ -42,46 +42,48 @@ Flag "bench" Default: false Library "containers" - Path: core + Path: src/core Modules: CCVector, CCPrint, CCError, CCHeap, CCList, CCOpt, CCPair, CCFun, CCHash, CCInt, CCBool, CCFloat, CCArray, CCOrd, CCRandom, CCString, CCHashtbl, CCMap BuildDepends: bytes Library "containers_io" - Path: core + Path: src/io Modules: CCIO + BuildDepends: bytes FindlibParent: containers FindlibName: io Library "containers_sexp" - Path: core + Path: src/sexp Modules: CCSexp + BuildDepends: bytes FindlibParent: containers FindlibName: sexp Library "containers_data" - Path: core + Path: src/data Modules: CCMultiMap, CCMultiSet, CCTrie, CCFlatHashtbl, CCCache, - CCPersistentHashtbl, CCDeque, CCFQueue, CCBV + CCPersistentHashtbl, CCDeque, CCFQueue, CCBV, CCMixtbl FindlibParent: containers FindlibName: data Library "containers_iter" - Path: core + Path: src/iter Modules: CCKTree, CCKList FindlibParent: containers FindlibName: iter Library "containers_string" - Path: string + Path: src/string Pack: true Modules: KMP, Levenshtein FindlibName: string FindlibParent: containers Library "containers_advanced" - Path: advanced + Path: src/advanced Pack: true Modules: CCLinq, CCBatch, CCCat, CCMonadIO FindlibName: advanced @@ -89,27 +91,27 @@ Library "containers_advanced" BuildDepends: containers, sequence Library "containers_pervasives" - Path: pervasives + Path: src/pervasives Modules: CCPervasives BuildDepends: containers FindlibName: pervasives FindlibParent: containers Library "containers_misc" - Path: misc + Path: src/misc Pack: true Modules: FHashtbl, FlatHashtbl, Hashset, Heap, LazyGraph, PersistentGraph, PHashtbl, SkipList, SplayTree, SplayMap, Univ, Bij, PiCalculus, RAL, UnionFind, SmallSet, AbsSet, CSM, TTree, PrintBox, HGraph, Automaton, Conv, Bidir, Iteratee, - BTree, Ty, Cause, AVL, ParseReact, Mixtbl - BuildDepends: unix,containers + BTree, Ty, Cause, AVL, ParseReact + BuildDepends: unix, containers, containers.data FindlibName: misc FindlibParent: containers Library "containers_thread" - Path: threads/ + Path: src/threads/ Modules: CCFuture FindlibName: thread FindlibParent: containers @@ -119,7 +121,7 @@ Library "containers_thread" XMETARequires: containers,threads Library "containers_lwt" - Path: lwt + Path: src/lwt Modules: Lwt_automaton, Lwt_actor Pack: true FindlibName: lwt @@ -128,16 +130,6 @@ Library "containers_lwt" Install$: flag(lwt) && flag(misc) BuildDepends: containers, lwt, containers.misc -Library "containers_cgi" - Path: cgi - Modules: ToWeb - FindlibName: cgi - FindlibParent: containers - Build$: flag(cgi) - Install$: flag(cgi) - BuildDepends: containers,CamlGI - XMETARequires: containers,CamlGI - Document containers Title: Containers docs Type: ocamlbuild (0.3) @@ -148,7 +140,8 @@ Document containers "-docflags '-colorize-code -short-functors -charset utf-8'" XOCamlbuildLibraries: containers, containers.misc, containers.iter, containers.data, - containers.string, containers.advanced, containers.io, containers.sexp, + containers.string, containers.pervasives, + containers.advanced, containers.io, containers.sexp, containers.lwt @@ -159,7 +152,8 @@ Executable run_benchs Build$: flag(bench) && flag(misc) MainIs: run_benchs.ml BuildDepends: containers, containers.misc, containers.advanced, - containers.string, sequence, gen, benchmark + containers.data, containers.string, containers.iter, + sequence, gen, benchmark Executable bench_hash Path: benchs/ @@ -167,7 +161,7 @@ Executable bench_hash CompiledObject: native Build$: flag(bench) && flag(misc) MainIs: bench_hash.ml - BuildDepends: containers,containers.misc + BuildDepends: containers, containers.misc Executable bench_conv Path: benchs/ @@ -175,7 +169,7 @@ Executable bench_conv CompiledObject: native Build$: flag(bench) MainIs: bench_conv.ml - BuildDepends: containers,benchmark,gen + BuildDepends: containers, benchmark, gen Executable test_levenshtein Path: tests/ @@ -183,7 +177,7 @@ Executable test_levenshtein CompiledObject: native Build$: flag(tests) MainIs: test_levenshtein.ml - BuildDepends: containers,qcheck,containers.string + BuildDepends: containers, qcheck, containers.string Executable test_threads Path: tests/lwt/ @@ -191,7 +185,7 @@ Executable test_threads CompiledObject: best Build$: flag(tests) && flag(thread) MainIs: test_Future.ml - BuildDepends: containers,threads,oUnit,containers.lwt + BuildDepends: containers, threads, oUnit, containers.lwt PreBuildCommand: make qtest-gen @@ -210,7 +204,8 @@ Executable run_tests CompiledObject: native MainIs: run_tests.ml Build$: flag(tests) && flag(misc) - BuildDepends: containers, oUnit, sequence, gen, qcheck, containers.misc + BuildDepends: containers, containers.data, oUnit, sequence, gen, + qcheck, containers.misc Test all Command: make test-all @@ -229,7 +224,7 @@ Executable lambda Install: false MainIs: lambda.ml Build$: flag(misc) - BuildDepends: containers,containers.misc + BuildDepends: containers, containers.misc Executable id_sexp Path: examples/ @@ -237,7 +232,7 @@ Executable id_sexp CompiledObject: native MainIs: id_sexp.ml Build$: flag(misc) - BuildDepends: containers + BuildDepends: containers.sexp SourceRepository head Type: git diff --git a/_tags b/_tags index e3d70cb8..8e068caf 100644 --- a/_tags +++ b/_tags @@ -158,9 +158,7 @@ : use_containers_misc # OASIS_STOP : thread -: thread -: -traverse -: -traverse -: inline(25) -<{string,core}/**/*.ml>: warn_A, warn(-4), warn(-44) +: thread +: inline(25) +: warn_A, warn(-4), warn(-44) true: no_alias_deps diff --git a/cgi/toWeb.ml b/cgi/toWeb.ml deleted file mode 100644 index 1d2f2fc1..00000000 --- a/cgi/toWeb.ml +++ /dev/null @@ -1,358 +0,0 @@ - -(* -copyright (c) 2013, simon cruanes -all rights reserved. - -redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. redistributions in binary -form must reproduce the above copyright notice, this list of conditions and the -following disclaimer in the documentation and/or other materials provided with -the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*) - -(** {1 Expose the State of a Program to the Web} - - We export some values (and associated functions for converting them to - html, and update them) as a FastCGI interface. - - This module depends on CamlGI. -*) - -(** {2 Some combinators to build HTML documents} *) - -module HTML = struct - type t = - | Str of string (* content *) - | List of t list - | Url of url - | Img of image - | Concat of t list - | H of int * t - | Link of link - | Tag of string * t - | TagWith of string * (string * string) list * t - and url = { - url_alt : string option; - url_url : string; - url_descr : string; - } - and image = { - img_alt : string option; - img_url : string; - } - and link = { - link_rel : string; - link_url : string; - } - - let str s = Str s - - let bprintf format = - let buffer = Buffer.create 64 in - let r = ref (str "") in - Printf.kbprintf - (fun x -> r := str (Buffer.contents buffer)) - buffer - format; - !r - - let sprintf format = - let r = ref (str "") in - Printf.ksprintf - (fun s -> r := str s) - format; - !r - - let list l = List l - - let url ?alt ~url ~descr = Url { - url_alt = alt; - url_url = url; - url_descr = descr; - } - - let img ?alt url = Img { - img_alt = alt; - img_url = url; - } - - let append a b = Concat [a; b] - - let concat l = Concat l - - let h1 x = H (1, x) - - let h2 x = H (2, x) - - let h3 x = H (3, x) - - let h n x = H (n, x) - - let p x = Tag ("p", x) - - let div ?id ?class_ x = - match id, class_ with - | None, None -> Tag ("div", x) - | Some i, None -> TagWith ("div", ["id", i], x) - | None, Some c -> TagWith ("div", ["class", c], x) - | Some i, Some c -> TagWith ("div", ["id", i; "class", c], x) - - let span ?id ?class_ x = - match id, class_ with - | None, None -> Tag ("span", x) - | Some i, None -> TagWith ("span", ["id", i], x) - | None, Some c -> TagWith ("span", ["class", c], x) - | Some i, Some c -> TagWith ("span", ["id", i; "class", c], x) - - let link ~rel ~url = Link { - link_rel = rel; - link_url = url; - } - - let head x = Tag ("head", x) - - let body x = Tag ("body", x) - - let html x = Tag ("html", x) - - let _to_hex n = match n with - | _ when n >= 0 && n < 10 -> Char.chr (Char.code '0' + n) - | 10 -> 'A' - | 11 -> 'B' - | 12 -> 'C' - | 13 -> 'D' - | 14 -> 'E' - | 15 -> 'F' - | _ -> failwith "not an hexadecimal digit" - - let _encode_char buf c = - Buffer.add_string buf "&#x"; - let h, l = Char.code c / 16, Char.code c mod 16 in - Buffer.add_char buf (_to_hex h); - Buffer.add_char buf (_to_hex l) - - let encode str = - let b = Buffer.create (String.length str + 10) in - for i = 0 to String.length str - 1 do - match str.[i] with - | ';' | '/' | '?' | ':' | '@' | '&' | '=' | '+' | '$' | ',' | '<' - | '>' | '#' | '%' | '"' | '{' | '}' | '|' | '\\' | '^' | '[' | ']' - | '`' -> _encode_char b str.[i] - | c when Char.code c < 32 -> _encode_char b str.[i] - | c when Char.code c > 127 -> _encode_char b str.[i] - | _ -> Buffer.add_char b str.[i] - done; - Buffer.contents b - - (* real rendering is always into a buffer (for now) *) - let rec to_buf buf x = - match x with - | Str s -> Buffer.add_string buf (encode s) - | List l -> - Buffer.add_string buf "
    "; - List.iter - (fun y -> Printf.bprintf buf "
  • %a
  • " to_buf y) - l; - Buffer.add_string buf "
" - | Url url -> - begin match url.url_alt with - | None -> - Printf.bprintf buf "%s" url.url_url - (encode url.url_descr) - | Some alt -> - Printf.bprintf buf "%s" - url.url_url (encode alt) (encode url.url_descr) - end - | Img i -> failwith "img: not implemented" - | Concat l -> - List.iteri - (fun i y -> - if i > 0 then Buffer.add_char buf ' '; - to_buf buf y) - l - | H (n, y) -> - Printf.bprintf buf " %a " n to_buf y n - | Link _ -> failwith "link: not implemented" - | Tag (str, y) -> Printf.bprintf buf "<%s> %a " str to_buf y str - | TagWith (str, attrs, y) -> - Printf.bprintf buf "<%s " str; - List.iter (fun (name,attr) -> Printf.bprintf buf "%s=\"%s\"" name attr) attrs; - Printf.bprintf buf "> %a " to_buf y str - - let render x = - let buf = Buffer.create 256 in - to_buf buf x; - Buffer.contents buf - - let to_chan oc x = - let buf = Buffer.create 256 in - to_buf buf x; - Buffer.output_buffer oc buf -end - -(** {2 Stateful Object on the Web} *) - -module State = struct - type 'a t = { - mutable content : 'a; - mutable callbacks : ('a -> unit) list; - id : ('a -> string) option; - export : 'a -> HTML.t; - update : (string * string) list -> 'a -> 'a; - } (** A value that can be exposed to the Web. - The [export] function is used to print the current state of - the object into HTML (when requested). - The [update] optional function can be used to update - the value, given a query with parameters. *) - - type wrap = Wrap : 'a t -> wrap - (** Hides the type parameter in a GADT. *) - - let create ?(update=fun _ x -> x) ?id ~export content = { - content; - export; - id; - callbacks = []; - update; - } - - let on_change st f = - st.callbacks <- f :: st.callbacks - - let handle_request st req = - let cgi = new CamlGI.Cgi.cgi req in - (* update value? *) - try - let x = st.content in - let params = cgi#params in - (* update [x] using the parameters? *) - let y = st.update params x in - let changed = match st.id with - | None -> x != y - | Some id -> id x <> id y - in - (* notify callbacks that we have a new object *) - if changed then - List.iter (fun f -> f y) st.callbacks; - (* now print [y] *) - (* TODO: add a head, declaration, etc. *) - let html = st.export y in - let final_output = HTML.render html in - (* render output *) - let template = object - method output f = f final_output - end in - cgi#template template - with e -> - let msg = Printf.sprintf "error: %s" (Printexc.to_string e) in - cgi#log msg -end - -(** {2 Routing} *) - -module Router = struct - type t = { - mutable default : State.wrap; - log : out_channel option; - tbl : (string, State.wrap) Hashtbl.t; - } - - let __default = - State.Wrap (State.create ~export:HTML.str "") - - let _log router fmt = match router.log with - | None -> - Printf.ifprintf stdout fmt - | Some oc -> - Printf.kfprintf - (fun oc -> - output_char oc '\n'; - flush oc) - oc - fmt - - let create ?(default=__default) ?log () = - let router = { - default; - log; - tbl = Hashtbl.create 15; - } in - _log router "new router created"; - router - - let default router default = - router.default <- default - - let unregister router name = - Hashtbl.remove router.tbl name - - let register ?(weak=false) router name state = - if Hashtbl.mem router.tbl name - then failwith "Router: name already registered" - else begin - Hashtbl.add router.tbl name state; - if weak then match state with - | State.Wrap st -> - Gc.finalise (fun _ -> unregister router name) st.State.content - end - - let add_list router l = - List.iter - (fun (name, state) -> register router name state) - l - - let to_list router = - Hashtbl.fold - (fun name state acc -> (name,state) :: acc) - router.tbl [] - - let random_id () = - CamlGI.Cgi.random_sessionid () - - let handle_request router req = - let cgi = new CamlGI.Cgi.cgi req in - let url = cgi#url () in - let st = - try - let last_part_i = String.rindex url '/' in - let last_part = String.sub url (last_part_i+1) (String.length url -last_part_i-1) in - _log router "received request for url /%s" last_part; - Hashtbl.find router.tbl last_part - with Not_found -> - router.default - in - match st with - | State.Wrap st -> State.handle_request st req -end - -(** {2 Main Interface} *) - -let serve_state ?sockfile ?sockaddr st = - match sockfile with - | None -> - CamlGI.Cgi.register_script ?sockaddr (State.handle_request st) - | Some f -> - let sockaddr = Unix.ADDR_UNIX f in - CamlGI.Cgi.register_script ~sockaddr (State.handle_request st) - -let serve_router ?sockfile ?sockaddr router = - match sockfile with - | None -> - CamlGI.Cgi.register_script ?sockaddr (Router.handle_request router) - | Some f -> - let sockaddr = Unix.ADDR_UNIX f in - CamlGI.Cgi.register_script ~sockaddr (Router.handle_request router) diff --git a/cgi/toWeb.mli b/cgi/toWeb.mli deleted file mode 100644 index b6e3eb40..00000000 --- a/cgi/toWeb.mli +++ /dev/null @@ -1,208 +0,0 @@ - -(* -copyright (c) 2013, simon cruanes -all rights reserved. - -redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. redistributions in binary -form must reproduce the above copyright notice, this list of conditions and the -following disclaimer in the documentation and/or other materials provided with -the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*) - -(** {1 Expose the State of a Program to the Web} - - We export some values (and associated functions for converting them to - html, and update them) as a FastCGI interface. - - This module depends on CamlGI. -*) - -(** {2 Some combinators to build HTML documents} *) - -module HTML : sig - type t - (** A html document. Encoding is assumed to be UTF8 for now. *) - - val str : string -> t - (** Simple string *) - - val bprintf : ('a, Buffer.t, unit, unit) format4 -> t - (** Use a buffer printer to render a string. Shortcut for {!str} *) - - val sprintf : ('a, unit, string, unit) format4 -> t - (** Use a string printer to render into a string. Shortcut for {!str} *) - - val list : t list -> t - (** Build a list of items *) - - val url : ?alt:string -> url:string -> descr:string -> t - (** build an URL tag. *) - - val img : ?alt:string -> string -> t - (** Link to an image *) - - val append : t -> t -> t - (** Concatenation of two documents *) - - val concat : t list -> t - (** Concatenation of html documents *) - - val h1 : t -> t - - val h2 : t -> t - - val h3 : t -> t - - val h : int -> t -> t - (** Title of level parametrized by the integer *) - - val p : t -> t - (** Paragraph *) - - val div : ?id:string -> ?class_:string -> t -> t - (** Div tag, to specify a block *) - - val span : ?id:string -> ?class_:string -> t -> t - (** Non semantic tag, mostly useful for CSS *) - - val link : rel:string -> url:string -> t - (** Link (for head) *) - - val head : t -> t - (** Head part of a document *) - - val body : t -> t - (** Body part of a document *) - - val html : t -> t - (** The whole document *) - - val render : t -> string - (** Print into a string *) - - val to_buf : Buffer.t -> t -> unit - (** Print in the buffer *) - - val to_chan : out_channel -> t -> unit - (** Print on the channel *) -end - -(** {2 Stateful Object on the Web} *) - -(** This module defines how to bundle an OCaml value (possibly - stateful) with functions that export it to HTML, - and possibly update it from a CGI request. -*) - -module State : sig - type 'a t - (** A value that can be exposed to the web. *) - - type wrap = Wrap : 'a t -> wrap - (** Hides the type parameter in a GADT. Useful for {!Router}. *) - - val create : ?update:((string*string) list -> 'a -> 'a) -> - ?id:('a -> string) -> - export:('a -> HTML.t) -> - 'a -> - 'a t - (** Create a value that can be exposed to the Web. - @param export function used to print the current state of - the object into HTML (when requested). - @param update optional function that can be used to update - the value, given a query with parameters. - @param id optional function that maps a value to a (unique) - string. Can be used to obtain a unique URL for this value. *) - - val on_change : 'a t -> ('a -> unit) -> unit - (** Register a callback that will be called everytime the value - is updated. Physical equality is used to determine whether - the value changed if no [id] function was provided; - otherwise, [id] is used to check whether the old and the new - strings are equal. *) - - val handle_request : 'a t -> CamlGI.Cgi.Request.t -> unit - (** Handle the incoming request. It replies to the request by - possibly updating the local state, and - object. *) -end - - -(** {2 Routing} *) - -module Router : sig - type t - (** An URL router. It dispatches incoming requests to registered - {!State.t} values depending on the request's URL. *) - - val create : ?default:State.wrap -> ?log:out_channel -> unit -> t - (** New router. - @param log a channel on which to log events (incoming requests) - @param default a default object to expose, for incorrect routes - *) - - val default : t -> State.wrap -> unit - (** Set the default handler, for incorrect routes (for which no - object is registered) or for routing the root url *) - - val register : ?weak:bool -> t -> string -> State.wrap -> unit - (** Register a state object (see {!State}) under a given path. - Right now routing only dispatches at one level, there is no - tree-like structure, only a flat "directory" of objects. - - @param weak (default false) if true, the object will unregister itself - when it's garbage collected. Only works if the type of the wrapped - object is heap allocated. - - @raise Failure if the name is already taken - @raise Invalid_argument if [weak] is true and no finalizer can be - registered. *) - - val unregister : t -> string -> unit - (** Remove a stateful value *) - - val add_list : t -> (string * State.wrap) list -> unit - (** Register several handlers. - @raise Failure if it meets an already registered handler *) - - val to_list : t -> (string * State.wrap) list - (** Currently registered objects *) - - val random_id : unit -> string - (** Fresh, random ID that can be used for registering temporary objects *) - - val handle_request : t -> CamlGI.Cgi.Request.t -> unit - (** Handle the incoming request, by routing to an appropriate - object. *) -end - -(** {2 Main interface} *) - -(* TODO: interface with {! LazyGraph}. A (string, html.t, string) graph - maps naturally to URLs and simplifies routing. *) - -val serve_state : ?sockfile:string -> ?sockaddr:Unix.sockaddr -> - 'a State.t -> unit - (** Serve incoming requests using a single object. - @param sockfile the unix file to use as a socket *) - -val serve_router : ?sockfile:string -> ?sockaddr:Unix.sockaddr -> - Router.t -> unit - (** Shortcut. It calls {!CamlGI.Cgi.register_script} with a callback - that forwards requests to the given Router. - @param sockfile the unix file to use as a socket *) diff --git a/advanced/CCBatch.ml b/src/advanced/CCBatch.ml similarity index 100% rename from advanced/CCBatch.ml rename to src/advanced/CCBatch.ml diff --git a/advanced/CCBatch.mli b/src/advanced/CCBatch.mli similarity index 100% rename from advanced/CCBatch.mli rename to src/advanced/CCBatch.mli diff --git a/advanced/CCCat.ml b/src/advanced/CCCat.ml similarity index 100% rename from advanced/CCCat.ml rename to src/advanced/CCCat.ml diff --git a/advanced/CCCat.mli b/src/advanced/CCCat.mli similarity index 100% rename from advanced/CCCat.mli rename to src/advanced/CCCat.mli diff --git a/advanced/CCLinq.ml b/src/advanced/CCLinq.ml similarity index 100% rename from advanced/CCLinq.ml rename to src/advanced/CCLinq.ml diff --git a/advanced/CCLinq.mli b/src/advanced/CCLinq.mli similarity index 100% rename from advanced/CCLinq.mli rename to src/advanced/CCLinq.mli diff --git a/advanced/CCMonadIO.ml b/src/advanced/CCMonadIO.ml similarity index 100% rename from advanced/CCMonadIO.ml rename to src/advanced/CCMonadIO.ml diff --git a/advanced/CCMonadIO.mli b/src/advanced/CCMonadIO.mli similarity index 100% rename from advanced/CCMonadIO.mli rename to src/advanced/CCMonadIO.mli diff --git a/core/CCArray.ml b/src/core/CCArray.ml similarity index 100% rename from core/CCArray.ml rename to src/core/CCArray.ml diff --git a/core/CCArray.mli b/src/core/CCArray.mli similarity index 100% rename from core/CCArray.mli rename to src/core/CCArray.mli diff --git a/core/CCBool.ml b/src/core/CCBool.ml similarity index 100% rename from core/CCBool.ml rename to src/core/CCBool.ml diff --git a/core/CCBool.mli b/src/core/CCBool.mli similarity index 100% rename from core/CCBool.mli rename to src/core/CCBool.mli diff --git a/core/CCError.ml b/src/core/CCError.ml similarity index 100% rename from core/CCError.ml rename to src/core/CCError.ml diff --git a/core/CCError.mli b/src/core/CCError.mli similarity index 100% rename from core/CCError.mli rename to src/core/CCError.mli diff --git a/core/CCFloat.ml b/src/core/CCFloat.ml similarity index 100% rename from core/CCFloat.ml rename to src/core/CCFloat.ml diff --git a/core/CCFloat.mli b/src/core/CCFloat.mli similarity index 100% rename from core/CCFloat.mli rename to src/core/CCFloat.mli diff --git a/core/CCFun.cppo.ml b/src/core/CCFun.cppo.ml similarity index 100% rename from core/CCFun.cppo.ml rename to src/core/CCFun.cppo.ml diff --git a/core/CCFun.mli b/src/core/CCFun.mli similarity index 100% rename from core/CCFun.mli rename to src/core/CCFun.mli diff --git a/core/CCHash.ml b/src/core/CCHash.ml similarity index 100% rename from core/CCHash.ml rename to src/core/CCHash.ml diff --git a/core/CCHash.mli b/src/core/CCHash.mli similarity index 100% rename from core/CCHash.mli rename to src/core/CCHash.mli diff --git a/core/CCHashtbl.ml b/src/core/CCHashtbl.ml similarity index 100% rename from core/CCHashtbl.ml rename to src/core/CCHashtbl.ml diff --git a/core/CCHashtbl.mli b/src/core/CCHashtbl.mli similarity index 100% rename from core/CCHashtbl.mli rename to src/core/CCHashtbl.mli diff --git a/core/CCHeap.ml b/src/core/CCHeap.ml similarity index 100% rename from core/CCHeap.ml rename to src/core/CCHeap.ml diff --git a/core/CCHeap.mli b/src/core/CCHeap.mli similarity index 100% rename from core/CCHeap.mli rename to src/core/CCHeap.mli diff --git a/core/CCInt.ml b/src/core/CCInt.ml similarity index 100% rename from core/CCInt.ml rename to src/core/CCInt.ml diff --git a/core/CCInt.mli b/src/core/CCInt.mli similarity index 100% rename from core/CCInt.mli rename to src/core/CCInt.mli diff --git a/core/CCList.ml b/src/core/CCList.ml similarity index 100% rename from core/CCList.ml rename to src/core/CCList.ml diff --git a/core/CCList.mli b/src/core/CCList.mli similarity index 100% rename from core/CCList.mli rename to src/core/CCList.mli diff --git a/core/CCMap.ml b/src/core/CCMap.ml similarity index 100% rename from core/CCMap.ml rename to src/core/CCMap.ml diff --git a/core/CCMap.mli b/src/core/CCMap.mli similarity index 100% rename from core/CCMap.mli rename to src/core/CCMap.mli diff --git a/core/CCOpt.ml b/src/core/CCOpt.ml similarity index 100% rename from core/CCOpt.ml rename to src/core/CCOpt.ml diff --git a/core/CCOpt.mli b/src/core/CCOpt.mli similarity index 100% rename from core/CCOpt.mli rename to src/core/CCOpt.mli diff --git a/core/CCOrd.ml b/src/core/CCOrd.ml similarity index 100% rename from core/CCOrd.ml rename to src/core/CCOrd.ml diff --git a/core/CCOrd.mli b/src/core/CCOrd.mli similarity index 100% rename from core/CCOrd.mli rename to src/core/CCOrd.mli diff --git a/core/CCPair.ml b/src/core/CCPair.ml similarity index 100% rename from core/CCPair.ml rename to src/core/CCPair.ml diff --git a/core/CCPair.mli b/src/core/CCPair.mli similarity index 100% rename from core/CCPair.mli rename to src/core/CCPair.mli diff --git a/core/CCPrint.ml b/src/core/CCPrint.ml similarity index 100% rename from core/CCPrint.ml rename to src/core/CCPrint.ml diff --git a/core/CCPrint.mli b/src/core/CCPrint.mli similarity index 100% rename from core/CCPrint.mli rename to src/core/CCPrint.mli diff --git a/core/CCRandom.ml b/src/core/CCRandom.ml similarity index 100% rename from core/CCRandom.ml rename to src/core/CCRandom.ml diff --git a/core/CCRandom.mli b/src/core/CCRandom.mli similarity index 100% rename from core/CCRandom.mli rename to src/core/CCRandom.mli diff --git a/core/CCString.cppo.ml b/src/core/CCString.cppo.ml similarity index 100% rename from core/CCString.cppo.ml rename to src/core/CCString.cppo.ml diff --git a/core/CCString.mli b/src/core/CCString.mli similarity index 100% rename from core/CCString.mli rename to src/core/CCString.mli diff --git a/core/CCVector.ml b/src/core/CCVector.ml similarity index 100% rename from core/CCVector.ml rename to src/core/CCVector.ml diff --git a/core/CCVector.mli b/src/core/CCVector.mli similarity index 100% rename from core/CCVector.mli rename to src/core/CCVector.mli diff --git a/core/_tags b/src/core/_tags similarity index 100% rename from core/_tags rename to src/core/_tags diff --git a/core/CCBV.ml b/src/data/CCBV.ml similarity index 100% rename from core/CCBV.ml rename to src/data/CCBV.ml diff --git a/core/CCBV.mli b/src/data/CCBV.mli similarity index 100% rename from core/CCBV.mli rename to src/data/CCBV.mli diff --git a/core/CCCache.ml b/src/data/CCCache.ml similarity index 100% rename from core/CCCache.ml rename to src/data/CCCache.ml diff --git a/core/CCCache.mli b/src/data/CCCache.mli similarity index 100% rename from core/CCCache.mli rename to src/data/CCCache.mli diff --git a/core/CCDeque.ml b/src/data/CCDeque.ml similarity index 100% rename from core/CCDeque.ml rename to src/data/CCDeque.ml diff --git a/core/CCDeque.mli b/src/data/CCDeque.mli similarity index 100% rename from core/CCDeque.mli rename to src/data/CCDeque.mli diff --git a/core/CCFQueue.ml b/src/data/CCFQueue.ml similarity index 100% rename from core/CCFQueue.ml rename to src/data/CCFQueue.ml diff --git a/core/CCFQueue.mli b/src/data/CCFQueue.mli similarity index 100% rename from core/CCFQueue.mli rename to src/data/CCFQueue.mli diff --git a/core/CCFlatHashtbl.ml b/src/data/CCFlatHashtbl.ml similarity index 100% rename from core/CCFlatHashtbl.ml rename to src/data/CCFlatHashtbl.ml diff --git a/core/CCFlatHashtbl.mli b/src/data/CCFlatHashtbl.mli similarity index 100% rename from core/CCFlatHashtbl.mli rename to src/data/CCFlatHashtbl.mli diff --git a/misc/mixtbl.ml b/src/data/CCMixtbl.ml similarity index 100% rename from misc/mixtbl.ml rename to src/data/CCMixtbl.ml diff --git a/misc/mixtbl.mli b/src/data/CCMixtbl.mli similarity index 84% rename from misc/mixtbl.mli rename to src/data/CCMixtbl.mli index 650c0ab6..67af7755 100644 --- a/misc/mixtbl.mli +++ b/src/data/CCMixtbl.mli @@ -29,27 +29,27 @@ From https://github.com/mjambon/mixtbl , thanks to him. Example: {[ -let inj_int = Mixtbl.access () ;; +let inj_int = CCMixtbl.access () ;; -let tbl = Mixtbl.create 10 ;; +let tbl = CCMixtbl.create 10 ;; -OUnit.assert_equal None (Mixtbl.get ~inj:inj_int tbl "a");; +OUnit.assert_equal None (CCMixtbl.get ~inj:inj_int tbl "a");; -Mixtbl.set inj_int tbl "a" 1;; +CCMixtbl.set inj_int tbl "a" 1;; -OUnit.assert_equal (Some 1) (Mixtbl.get ~inj:inj_int tbl "a");; +OUnit.assert_equal (Some 1) (CCMixtbl.get ~inj:inj_int tbl "a");; -let inj_string = Mixtbl.access () ;; +let inj_string = CCMixtbl.access () ;; -Mixtbl.set inj_string tbl "b" "Hello"; +CCMixtbl.set inj_string tbl "b" "Hello"; -OUnit.assert_equal (Some "Hello") (Mixtbl.get inj_string tbl "b");; -OUnit.assert_equal None (Mixtbl.get inj_string tbl "a");; -OUnit.assert_equal (Some 1) (Mixtbl.get inj_int tbl "a");; -Mixtbl.set inj_string tbl "a" "Bye";; +OUnit.assert_equal (Some "Hello") (CCMixtbl.get inj_string tbl "b");; +OUnit.assert_equal None (CCMixtbl.get inj_string tbl "a");; +OUnit.assert_equal (Some 1) (CCMixtbl.get inj_int tbl "a");; +CCMixtbl.set inj_string tbl "a" "Bye";; -OUnit.assert_equal None (Mixtbl.get inj_int tbl "a");; -OUnit.assert_equal (Some "Bye") (Mixtbl.get inj_string tbl "a");; +OUnit.assert_equal None (CCMixtbl.get inj_int tbl "a");; +OUnit.assert_equal (Some "Bye") (CCMixtbl.get inj_string tbl "a");; ]} @since 0.6 *) diff --git a/core/CCMultiMap.ml b/src/data/CCMultiMap.ml similarity index 100% rename from core/CCMultiMap.ml rename to src/data/CCMultiMap.ml diff --git a/core/CCMultiMap.mli b/src/data/CCMultiMap.mli similarity index 100% rename from core/CCMultiMap.mli rename to src/data/CCMultiMap.mli diff --git a/core/CCMultiSet.ml b/src/data/CCMultiSet.ml similarity index 100% rename from core/CCMultiSet.ml rename to src/data/CCMultiSet.ml diff --git a/core/CCMultiSet.mli b/src/data/CCMultiSet.mli similarity index 100% rename from core/CCMultiSet.mli rename to src/data/CCMultiSet.mli diff --git a/core/CCPersistentHashtbl.ml b/src/data/CCPersistentHashtbl.ml similarity index 100% rename from core/CCPersistentHashtbl.ml rename to src/data/CCPersistentHashtbl.ml diff --git a/core/CCPersistentHashtbl.mli b/src/data/CCPersistentHashtbl.mli similarity index 100% rename from core/CCPersistentHashtbl.mli rename to src/data/CCPersistentHashtbl.mli diff --git a/core/CCTrie.ml b/src/data/CCTrie.ml similarity index 100% rename from core/CCTrie.ml rename to src/data/CCTrie.ml diff --git a/core/CCTrie.mli b/src/data/CCTrie.mli similarity index 100% rename from core/CCTrie.mli rename to src/data/CCTrie.mli diff --git a/core/CCIO.ml b/src/io/CCIO.ml similarity index 100% rename from core/CCIO.ml rename to src/io/CCIO.ml diff --git a/core/CCIO.mli b/src/io/CCIO.mli similarity index 100% rename from core/CCIO.mli rename to src/io/CCIO.mli diff --git a/core/CCKList.ml b/src/iter/CCKList.ml similarity index 100% rename from core/CCKList.ml rename to src/iter/CCKList.ml diff --git a/core/CCKList.mli b/src/iter/CCKList.mli similarity index 100% rename from core/CCKList.mli rename to src/iter/CCKList.mli diff --git a/core/CCKTree.ml b/src/iter/CCKTree.ml similarity index 100% rename from core/CCKTree.ml rename to src/iter/CCKTree.ml diff --git a/core/CCKTree.mli b/src/iter/CCKTree.mli similarity index 100% rename from core/CCKTree.mli rename to src/iter/CCKTree.mli diff --git a/lwt/lwt_actor.ml b/src/lwt/lwt_actor.ml similarity index 100% rename from lwt/lwt_actor.ml rename to src/lwt/lwt_actor.ml diff --git a/lwt/lwt_actor.mli b/src/lwt/lwt_actor.mli similarity index 100% rename from lwt/lwt_actor.mli rename to src/lwt/lwt_actor.mli diff --git a/lwt/lwt_automaton.ml b/src/lwt/lwt_automaton.ml similarity index 100% rename from lwt/lwt_automaton.ml rename to src/lwt/lwt_automaton.ml diff --git a/lwt/lwt_automaton.mli b/src/lwt/lwt_automaton.mli similarity index 100% rename from lwt/lwt_automaton.mli rename to src/lwt/lwt_automaton.mli diff --git a/misc/.merlin b/src/misc/.merlin similarity index 100% rename from misc/.merlin rename to src/misc/.merlin diff --git a/misc/AVL.ml b/src/misc/AVL.ml similarity index 100% rename from misc/AVL.ml rename to src/misc/AVL.ml diff --git a/misc/AVL.mli b/src/misc/AVL.mli similarity index 100% rename from misc/AVL.mli rename to src/misc/AVL.mli diff --git a/misc/CSM.ml b/src/misc/CSM.ml similarity index 100% rename from misc/CSM.ml rename to src/misc/CSM.ml diff --git a/misc/CSM.mli b/src/misc/CSM.mli similarity index 100% rename from misc/CSM.mli rename to src/misc/CSM.mli diff --git a/misc/RAL.ml b/src/misc/RAL.ml similarity index 100% rename from misc/RAL.ml rename to src/misc/RAL.ml diff --git a/misc/RAL.mli b/src/misc/RAL.mli similarity index 100% rename from misc/RAL.mli rename to src/misc/RAL.mli diff --git a/misc/absSet.ml b/src/misc/absSet.ml similarity index 100% rename from misc/absSet.ml rename to src/misc/absSet.ml diff --git a/misc/absSet.mli b/src/misc/absSet.mli similarity index 100% rename from misc/absSet.mli rename to src/misc/absSet.mli diff --git a/misc/automaton.ml b/src/misc/automaton.ml similarity index 100% rename from misc/automaton.ml rename to src/misc/automaton.ml diff --git a/misc/automaton.mli b/src/misc/automaton.mli similarity index 100% rename from misc/automaton.mli rename to src/misc/automaton.mli diff --git a/misc/bTree.ml b/src/misc/bTree.ml similarity index 100% rename from misc/bTree.ml rename to src/misc/bTree.ml diff --git a/misc/bTree.mli b/src/misc/bTree.mli similarity index 100% rename from misc/bTree.mli rename to src/misc/bTree.mli diff --git a/misc/bidir.ml b/src/misc/bidir.ml similarity index 100% rename from misc/bidir.ml rename to src/misc/bidir.ml diff --git a/misc/bidir.mli b/src/misc/bidir.mli similarity index 100% rename from misc/bidir.mli rename to src/misc/bidir.mli diff --git a/misc/bij.ml b/src/misc/bij.ml similarity index 100% rename from misc/bij.ml rename to src/misc/bij.ml diff --git a/misc/bij.mli b/src/misc/bij.mli similarity index 100% rename from misc/bij.mli rename to src/misc/bij.mli diff --git a/misc/cC.ml b/src/misc/cC.ml similarity index 100% rename from misc/cC.ml rename to src/misc/cC.ml diff --git a/misc/cC.mli b/src/misc/cC.mli similarity index 100% rename from misc/cC.mli rename to src/misc/cC.mli diff --git a/misc/cause.ml b/src/misc/cause.ml similarity index 100% rename from misc/cause.ml rename to src/misc/cause.ml diff --git a/misc/cause.mli b/src/misc/cause.mli similarity index 100% rename from misc/cause.mli rename to src/misc/cause.mli diff --git a/misc/circList.ml b/src/misc/circList.ml similarity index 100% rename from misc/circList.ml rename to src/misc/circList.ml diff --git a/misc/circList.mli b/src/misc/circList.mli similarity index 100% rename from misc/circList.mli rename to src/misc/circList.mli diff --git a/misc/conv.ml b/src/misc/conv.ml similarity index 100% rename from misc/conv.ml rename to src/misc/conv.ml diff --git a/misc/conv.mli b/src/misc/conv.mli similarity index 100% rename from misc/conv.mli rename to src/misc/conv.mli diff --git a/misc/fHashtbl.ml b/src/misc/fHashtbl.ml similarity index 100% rename from misc/fHashtbl.ml rename to src/misc/fHashtbl.ml diff --git a/misc/fHashtbl.mli b/src/misc/fHashtbl.mli similarity index 100% rename from misc/fHashtbl.mli rename to src/misc/fHashtbl.mli diff --git a/misc/flatHashtbl.ml b/src/misc/flatHashtbl.ml similarity index 100% rename from misc/flatHashtbl.ml rename to src/misc/flatHashtbl.ml diff --git a/misc/flatHashtbl.mli b/src/misc/flatHashtbl.mli similarity index 100% rename from misc/flatHashtbl.mli rename to src/misc/flatHashtbl.mli diff --git a/misc/hGraph.ml b/src/misc/hGraph.ml similarity index 100% rename from misc/hGraph.ml rename to src/misc/hGraph.ml diff --git a/misc/hGraph.mli b/src/misc/hGraph.mli similarity index 100% rename from misc/hGraph.mli rename to src/misc/hGraph.mli diff --git a/misc/hashset.ml b/src/misc/hashset.ml similarity index 100% rename from misc/hashset.ml rename to src/misc/hashset.ml diff --git a/misc/hashset.mli b/src/misc/hashset.mli similarity index 100% rename from misc/hashset.mli rename to src/misc/hashset.mli diff --git a/misc/heap.ml b/src/misc/heap.ml similarity index 100% rename from misc/heap.ml rename to src/misc/heap.ml diff --git a/misc/heap.mli b/src/misc/heap.mli similarity index 100% rename from misc/heap.mli rename to src/misc/heap.mli diff --git a/misc/iteratee.ml b/src/misc/iteratee.ml similarity index 100% rename from misc/iteratee.ml rename to src/misc/iteratee.ml diff --git a/misc/iteratee.mli b/src/misc/iteratee.mli similarity index 100% rename from misc/iteratee.mli rename to src/misc/iteratee.mli diff --git a/misc/json.ml b/src/misc/json.ml similarity index 100% rename from misc/json.ml rename to src/misc/json.ml diff --git a/misc/json.mli b/src/misc/json.mli similarity index 100% rename from misc/json.mli rename to src/misc/json.mli diff --git a/misc/lazyGraph.ml b/src/misc/lazyGraph.ml similarity index 100% rename from misc/lazyGraph.ml rename to src/misc/lazyGraph.ml diff --git a/misc/lazyGraph.mli b/src/misc/lazyGraph.mli similarity index 100% rename from misc/lazyGraph.mli rename to src/misc/lazyGraph.mli diff --git a/misc/pHashtbl.ml b/src/misc/pHashtbl.ml similarity index 100% rename from misc/pHashtbl.ml rename to src/misc/pHashtbl.ml diff --git a/misc/pHashtbl.mli b/src/misc/pHashtbl.mli similarity index 100% rename from misc/pHashtbl.mli rename to src/misc/pHashtbl.mli diff --git a/misc/parseReact.ml b/src/misc/parseReact.ml similarity index 100% rename from misc/parseReact.ml rename to src/misc/parseReact.ml diff --git a/misc/parseReact.mli b/src/misc/parseReact.mli similarity index 100% rename from misc/parseReact.mli rename to src/misc/parseReact.mli diff --git a/misc/persistentGraph.ml b/src/misc/persistentGraph.ml similarity index 100% rename from misc/persistentGraph.ml rename to src/misc/persistentGraph.ml diff --git a/misc/persistentGraph.mli b/src/misc/persistentGraph.mli similarity index 100% rename from misc/persistentGraph.mli rename to src/misc/persistentGraph.mli diff --git a/misc/piCalculus.ml b/src/misc/piCalculus.ml similarity index 100% rename from misc/piCalculus.ml rename to src/misc/piCalculus.ml diff --git a/misc/piCalculus.mli b/src/misc/piCalculus.mli similarity index 100% rename from misc/piCalculus.mli rename to src/misc/piCalculus.mli diff --git a/misc/printBox.ml b/src/misc/printBox.ml similarity index 100% rename from misc/printBox.ml rename to src/misc/printBox.ml diff --git a/misc/printBox.mli b/src/misc/printBox.mli similarity index 100% rename from misc/printBox.mli rename to src/misc/printBox.mli diff --git a/misc/puf.ml b/src/misc/puf.ml similarity index 100% rename from misc/puf.ml rename to src/misc/puf.ml diff --git a/misc/puf.mli b/src/misc/puf.mli similarity index 100% rename from misc/puf.mli rename to src/misc/puf.mli diff --git a/misc/skipList.ml b/src/misc/skipList.ml similarity index 100% rename from misc/skipList.ml rename to src/misc/skipList.ml diff --git a/misc/skipList.mli b/src/misc/skipList.mli similarity index 100% rename from misc/skipList.mli rename to src/misc/skipList.mli diff --git a/misc/smallSet.ml b/src/misc/smallSet.ml similarity index 100% rename from misc/smallSet.ml rename to src/misc/smallSet.ml diff --git a/misc/smallSet.mli b/src/misc/smallSet.mli similarity index 100% rename from misc/smallSet.mli rename to src/misc/smallSet.mli diff --git a/misc/splayMap.ml b/src/misc/splayMap.ml similarity index 100% rename from misc/splayMap.ml rename to src/misc/splayMap.ml diff --git a/misc/splayMap.mli b/src/misc/splayMap.mli similarity index 100% rename from misc/splayMap.mli rename to src/misc/splayMap.mli diff --git a/misc/splayTree.ml b/src/misc/splayTree.ml similarity index 100% rename from misc/splayTree.ml rename to src/misc/splayTree.ml diff --git a/misc/splayTree.mli b/src/misc/splayTree.mli similarity index 100% rename from misc/splayTree.mli rename to src/misc/splayTree.mli diff --git a/misc/tTree.ml b/src/misc/tTree.ml similarity index 100% rename from misc/tTree.ml rename to src/misc/tTree.ml diff --git a/misc/tTree.mli b/src/misc/tTree.mli similarity index 100% rename from misc/tTree.mli rename to src/misc/tTree.mli diff --git a/misc/ty.ml b/src/misc/ty.ml similarity index 100% rename from misc/ty.ml rename to src/misc/ty.ml diff --git a/misc/ty.mli b/src/misc/ty.mli similarity index 100% rename from misc/ty.mli rename to src/misc/ty.mli diff --git a/misc/unionFind.ml b/src/misc/unionFind.ml similarity index 100% rename from misc/unionFind.ml rename to src/misc/unionFind.ml diff --git a/misc/unionFind.mli b/src/misc/unionFind.mli similarity index 100% rename from misc/unionFind.mli rename to src/misc/unionFind.mli diff --git a/misc/univ.ml b/src/misc/univ.ml similarity index 100% rename from misc/univ.ml rename to src/misc/univ.ml diff --git a/misc/univ.mli b/src/misc/univ.mli similarity index 100% rename from misc/univ.mli rename to src/misc/univ.mli diff --git a/misc/utils.ml b/src/misc/utils.ml similarity index 100% rename from misc/utils.ml rename to src/misc/utils.ml diff --git a/pervasives/CCPervasives.ml b/src/pervasives/CCPervasives.ml similarity index 100% rename from pervasives/CCPervasives.ml rename to src/pervasives/CCPervasives.ml diff --git a/core/CCSexp.ml b/src/sexp/CCSexp.ml similarity index 100% rename from core/CCSexp.ml rename to src/sexp/CCSexp.ml diff --git a/core/CCSexp.mli b/src/sexp/CCSexp.mli similarity index 100% rename from core/CCSexp.mli rename to src/sexp/CCSexp.mli diff --git a/string/KMP.ml b/src/string/KMP.ml similarity index 100% rename from string/KMP.ml rename to src/string/KMP.ml diff --git a/string/KMP.mli b/src/string/KMP.mli similarity index 100% rename from string/KMP.mli rename to src/string/KMP.mli diff --git a/string/levenshtein.ml b/src/string/levenshtein.ml similarity index 100% rename from string/levenshtein.ml rename to src/string/levenshtein.ml diff --git a/string/levenshtein.mli b/src/string/levenshtein.mli similarity index 100% rename from string/levenshtein.mli rename to src/string/levenshtein.mli diff --git a/threads/CCFuture.ml b/src/threads/CCFuture.ml similarity index 100% rename from threads/CCFuture.ml rename to src/threads/CCFuture.ml diff --git a/threads/CCFuture.mli b/src/threads/CCFuture.mli similarity index 100% rename from threads/CCFuture.mli rename to src/threads/CCFuture.mli diff --git a/tests/test_mixtbl.ml b/tests/test_mixtbl.ml index f3e8c320..2e6ee637 100644 --- a/tests/test_mixtbl.ml +++ b/tests/test_mixtbl.ml @@ -3,6 +3,8 @@ open OUnit open Containers_misc open CCFun +module Mixtbl = CCMixtbl + let example () = let inj_int = Mixtbl.create_inj () in let tbl = Mixtbl.create 10 in