aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/genarg.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-03-30 12:06:53 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-03-30 12:06:53 +0200
commit051c9a8a1112174769670cb0dc8cebb85ccb803c (patch)
tree551d4631c78f4706a49d3b2bed1c9a8702ac9b43 /lib/genarg.ml
parent5b412e9968d93f6f52ed738fd01a74e7021d1dd4 (diff)
Removing dead code in Genarg.
Diffstat (limited to 'lib/genarg.ml')
-rw-r--r--lib/genarg.ml51
1 files changed, 2 insertions, 49 deletions
diff --git a/lib/genarg.ml b/lib/genarg.ml
index 0deb34afd..a43466c62 100644
--- a/lib/genarg.ml
+++ b/lib/genarg.ml
@@ -98,13 +98,13 @@ let rec pr_genarg_type : type a b c. (a, b, c) genarg_type -> std_ppcmds = funct
str "*" ++ spc () ++ pr_genarg_type t2 ++ str ")"
| ExtraArg s -> str (ArgT.repr s)
-let rec argument_type_eq arg1 arg2 = match arg1, arg2 with
+let argument_type_eq arg1 arg2 = match arg1, arg2 with
| ArgumentType t1, ArgumentType t2 ->
match genarg_type_eq t1 t2 with
| None -> false
| Some Refl -> true
-let rec pr_argument_type (ArgumentType t) = pr_genarg_type t
+let pr_argument_type (ArgumentType t) = pr_genarg_type t
type 'a uniform_genarg_type = ('a, 'a, 'a) genarg_type
(** Alias for concision *)
@@ -115,11 +115,6 @@ type rlevel = [ `rlevel ]
type glevel = [ `glevel ]
type tlevel = [ `tlevel ]
-type _ level =
-| Rlevel : rlevel level
-| Glevel : glevel level
-| Tlevel : tlevel level
-
type (_, _) abstract_argument_type =
| Rawwit : ('a, 'b, 'c) genarg_type -> ('a, rlevel) abstract_argument_type
| Glbwit : ('a, 'b, 'c) genarg_type -> ('b, glevel) abstract_argument_type
@@ -183,48 +178,6 @@ type 'a raw_abstract_argument_type = ('a,rlevel) abstract_argument_type
type 'a glob_abstract_argument_type = ('a,glevel) abstract_argument_type
type 'a typed_abstract_argument_type = ('a,tlevel) abstract_argument_type
-type ('a, 'b, 'c, 'l) cast =
-| Rcast : 'a -> ('a, 'b, 'c, rlevel) cast
-| Gcast : 'b -> ('a, 'b, 'c, glevel) cast
-| Tcast : 'c -> ('a, 'b, 'c, tlevel) cast
-
-let raw : ('a, 'b, 'c, rlevel) cast -> _ = function Rcast x -> x
-let glb : ('a, 'b, 'c, glevel) cast -> _ = function Gcast x -> x
-let top : ('a, 'b, 'c, tlevel) cast -> _ = function Tcast x -> x
-
-(** Type transformers *)
-
-type ('r, 'l) list_unpacker =
- { list_unpacker : 'a 'b 'c. ('a, 'b, 'c) genarg_type ->
- ('a list, 'b list, 'c list, 'l) cast -> 'r }
-
-let list_unpack (type l) (pack : (_, l) list_unpacker) (GenArg (t, obj) : l generic_argument) = match t with
-| Rawwit (ListArg t) -> pack.list_unpacker t (Rcast obj)
-| Glbwit (ListArg t) -> pack.list_unpacker t (Gcast obj)
-| Topwit (ListArg t) -> pack.list_unpacker t (Tcast obj)
-| _ -> failwith "out_gen"
-
-type ('r, 'l) opt_unpacker =
- { opt_unpacker : 'a 'b 'c. ('a, 'b, 'c) genarg_type ->
- ('a option, 'b option, 'c option, 'l) cast -> 'r }
-
-let opt_unpack (type l) (pack : (_, l) opt_unpacker) (GenArg (t, obj) : l generic_argument) = match t with
-| Rawwit (OptArg t) -> pack.opt_unpacker t (Rcast obj)
-| Glbwit (OptArg t) -> pack.opt_unpacker t (Gcast obj)
-| Topwit (OptArg t) -> pack.opt_unpacker t (Tcast obj)
-| _ -> failwith "out_gen"
-
-type ('r, 'l) pair_unpacker =
- { pair_unpacker : 'a1 'a2 'b1 'b2 'c1 'c2.
- ('a1, 'b1, 'c1) genarg_type -> ('a2, 'b2, 'c2) genarg_type ->
- (('a1 * 'a2), ('b1 * 'b2), ('c1 * 'c2), 'l) cast -> 'r }
-
-let pair_unpack (type l) (pack : (_, l) pair_unpacker) (GenArg (t, obj) : l generic_argument) = match t with
-| Rawwit (PairArg (t1, t2)) -> pack.pair_unpacker t1 t2 (Rcast obj)
-| Glbwit (PairArg (t1, t2)) -> pack.pair_unpacker t1 t2 (Gcast obj)
-| Topwit (PairArg (t1, t2)) -> pack.pair_unpacker t1 t2 (Tcast obj)
-| _ -> failwith "out_gen"
-
(** Creating args *)
module type Param = sig type ('raw, 'glb, 'top) t end