`sig
module TypeRep :
sig
type t
type delayed = Deriving_Typeable.TypeRep.t Stdlib.Lazy.t
val compare :
Deriving_Typeable.TypeRep.t -> Deriving_Typeable.TypeRep.t -> int
val eq :
Deriving_Typeable.TypeRep.t -> Deriving_Typeable.TypeRep.t -> bool
val mkFresh :
string ->
Deriving_Typeable.TypeRep.delayed list -> Deriving_Typeable.TypeRep.t
val mkTuple :
Deriving_Typeable.TypeRep.delayed list -> Deriving_Typeable.TypeRep.t
val mkPolyv :
(string * Deriving_Typeable.TypeRep.delayed option) list ->
Deriving_Typeable.TypeRep.delayed list -> Deriving_Typeable.TypeRep.t
end
exception CastFailure of string
type dynamic
val tagOf : Deriving_Typeable.dynamic -> Deriving_Typeable.TypeRep.t
module type Typeable =
sig
type a
val type_rep : Deriving_Typeable.TypeRep.t Stdlib.Lazy.t
val has_type : Deriving_Typeable.dynamic -> bool
val cast :
Deriving_Typeable.dynamic -> Deriving_Typeable.Typeable.a option
val throwing_cast :
Deriving_Typeable.dynamic -> Deriving_Typeable.Typeable.a
val make_dynamic :
Deriving_Typeable.Typeable.a -> Deriving_Typeable.dynamic
val mk : Deriving_Typeable.Typeable.a -> Deriving_Typeable.dynamic
end
module Defaults :
functor
(T : sig
type a
val type_rep : Deriving_Typeable.TypeRep.t Stdlib.Lazy.t
end) ->
sig
type a = T.a
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_list :
functor (A : Typeable) ->
sig
type a = A.a list
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_option :
functor (A : Typeable) ->
sig
type a = A.a option
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_ref :
functor (A : Typeable) ->
sig
type a = A.a ref
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_unit :
sig
type a = unit
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_int :
sig
type a = int
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_float :
sig
type a = float
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_bool :
sig
type a = bool
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_string :
sig
type a = string
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_char :
sig
type a = char
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_int32 :
sig
type a = int32
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_int64 :
sig
type a = int64
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Typeable_nativeint :
sig
type a = nativeint
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
module Primitive_typeable :
functor (T : sig type t val magic : string end) ->
sig
type a = T.t
val type_rep : TypeRep.t Lazy.t
val has_type : dynamic -> bool
val cast : dynamic -> a option
val throwing_cast : dynamic -> a
val make_dynamic : a -> dynamic
val mk : a -> dynamic
end
end`