summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Clerc <xavier.clerc@inria.fr>2011-05-30 09:07:12 +0000
committerXavier Clerc <xavier.clerc@inria.fr>2011-05-30 09:07:12 +0000
commitf3994d9fc49ed55f2ee648051cbcb408a26f11ea (patch)
treedcbc9f10875eb4b506ebece0d42451151df36f2e
parentc70ccf5ebbcf23391fcd4df0f1b5d4acad931909 (diff)
downloadocaml-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.mlpack1
-rw-r--r--ocamlbuild/signatures.mli4
-rw-r--r--ocamlbuild/std_signatures.mli94
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