diff options
| author | Xavier Clerc <xavier.clerc@inria.fr> | 2011-05-30 09:07:12 +0000 |
|---|---|---|
| committer | Xavier Clerc <xavier.clerc@inria.fr> | 2011-05-30 09:07:12 +0000 |
| commit | f3994d9fc49ed55f2ee648051cbcb408a26f11ea (patch) | |
| tree | dcbc9f10875eb4b506ebece0d42451151df36f2e | |
| parent | c70ccf5ebbcf23391fcd4df0f1b5d4acad931909 (diff) | |
| download | ocaml-f3994d9fc49ed55f2ee648051cbcb408a26f11ea.tar.gz | |
Avoid signature duplication by using the 'module type of' construct.
git-svn-id: http://caml.inria.fr/svn/ocaml/version/3.12@11058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
| -rw-r--r-- | ocamlbuild/ocamlbuild_pack.mlpack | 1 | ||||
| -rw-r--r-- | ocamlbuild/signatures.mli | 4 | ||||
| -rw-r--r-- | ocamlbuild/std_signatures.mli | 94 |
3 files changed, 2 insertions, 97 deletions
diff --git a/ocamlbuild/ocamlbuild_pack.mlpack b/ocamlbuild/ocamlbuild_pack.mlpack index 12c91d6234..9653afbcc6 100644 --- a/ocamlbuild/ocamlbuild_pack.mlpack +++ b/ocamlbuild/ocamlbuild_pack.mlpack @@ -1,7 +1,6 @@ Log My_unix My_std -Std_signatures Signatures Shell Display diff --git a/ocamlbuild/signatures.mli b/ocamlbuild/signatures.mli index 2b0d2025fe..91dc6c62f1 100644 --- a/ocamlbuild/signatures.mli +++ b/ocamlbuild/signatures.mli @@ -35,7 +35,7 @@ module type LIST = sig val union : 'a list -> 'a list -> 'a list (* Original functions *) - include Std_signatures.LIST + include module type of List end module type STRING = sig @@ -89,7 +89,7 @@ module type STRING = sig val explode : string -> char list (** The following are original functions from the [String] module. *) - include Std_signatures.STRING + include module type of String end module type TAGS = sig diff --git a/ocamlbuild/std_signatures.mli b/ocamlbuild/std_signatures.mli deleted file mode 100644 index 8cef441382..0000000000 --- a/ocamlbuild/std_signatures.mli +++ /dev/null @@ -1,94 +0,0 @@ -(***********************************************************************) -(* ocamlbuild *) -(* *) -(* Nicolas Pouillard, Berke Durak, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2007 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - - -(* Original author: Nicolas Pouillard *) -(** Some signatures from the standard library. *) - -module type LIST = sig - val length : 'a list -> int - val hd : 'a list -> 'a - val tl : 'a list -> 'a list - val nth : 'a list -> int -> 'a - val rev : 'a list -> 'a list - val append : 'a list -> 'a list -> 'a list - val rev_append : 'a list -> 'a list -> 'a list - val concat : 'a list list -> 'a list - val flatten : 'a list list -> 'a list - val iter : ('a -> unit) -> 'a list -> unit - val map : ('a -> 'b) -> 'a list -> 'b list - val rev_map : ('a -> 'b) -> 'a list -> 'b list - val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a - val fold_right : ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b - val iter2 : ('a -> 'b -> unit) -> 'a list -> 'b list -> unit - val map2 : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list - val rev_map2 : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list - val fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b list -> 'c list -> 'a - val fold_right2 : - ('a -> 'b -> 'c -> 'c) -> 'a list -> 'b list -> 'c -> 'c - val for_all : ('a -> bool) -> 'a list -> bool - val exists : ('a -> bool) -> 'a list -> bool - val for_all2 : ('a -> 'b -> bool) -> 'a list -> 'b list -> bool - val exists2 : ('a -> 'b -> bool) -> 'a list -> 'b list -> bool - val mem : 'a -> 'a list -> bool - val memq : 'a -> 'a list -> bool - val find : ('a -> bool) -> 'a list -> 'a - val filter : ('a -> bool) -> 'a list -> 'a list - val find_all : ('a -> bool) -> 'a list -> 'a list - val partition : ('a -> bool) -> 'a list -> 'a list * 'a list - val assoc : 'a -> ('a * 'b) list -> 'b - val assq : 'a -> ('a * 'b) list -> 'b - val mem_assoc : 'a -> ('a * 'b) list -> bool - val mem_assq : 'a -> ('a * 'b) list -> bool - val remove_assoc : 'a -> ('a * 'b) list -> ('a * 'b) list - val remove_assq : 'a -> ('a * 'b) list -> ('a * 'b) list - val split : ('a * 'b) list -> 'a list * 'b list - val combine : 'a list -> 'b list -> ('a * 'b) list - val sort : ('a -> 'a -> int) -> 'a list -> 'a list - val stable_sort : ('a -> 'a -> int) -> 'a list -> 'a list - val fast_sort : ('a -> 'a -> int) -> 'a list -> 'a list - val merge : ('a -> 'a -> int) -> 'a list -> 'a list -> 'a list -end - -module type STRING = sig - external length : string -> int = "%string_length" - external get : string -> int -> char = "%string_safe_get" - external set : string -> int -> char -> unit = "%string_safe_set" - external create : int -> string = "caml_create_string" - val make : int -> char -> string - val copy : string -> string - val sub : string -> int -> int -> string - val fill : string -> int -> int -> char -> unit - val blit : string -> int -> string -> int -> int -> unit - val concat : string -> string list -> string - val iter : (char -> unit) -> string -> unit - val escaped : string -> string - val index : string -> char -> int - val rindex : string -> char -> int - val index_from : string -> int -> char -> int - val rindex_from : string -> int -> char -> int - val contains : string -> char -> bool - val contains_from : string -> int -> char -> bool - val rcontains_from : string -> int -> char -> bool - val uppercase : string -> string - val lowercase : string -> string - val capitalize : string -> string - val uncapitalize : string -> string - type t = string - val compare : t -> t -> int - external unsafe_get : string -> int -> char = "%string_unsafe_get" - external unsafe_set : string -> int -> char -> unit - = "%string_unsafe_set" - external unsafe_blit : string -> int -> string -> int -> int -> unit - = "caml_blit_string" "noalloc" - external unsafe_fill : string -> int -> int -> char -> unit - = "caml_fill_string" "noalloc" -end |
