jon.recoil.org

Module Typerep_lib.Typename

runtime representation of the name of type 'a. Useful for representing types with a nominal notion of equality

type ('a : any) t
type ('a : any) typename = 'a Typerep_lib.Typename.t
val create : ('a : any). ?name:Base.string -> Base.unit -> 'a Typerep_lib.Typename.t @@ portable
val static : Base.unit Typerep_lib.Typename.t @@ portable
val same : ('a : any) ('b : any). 'a Typerep_lib.Typename.t -> 'b Typerep_lib.Typename.t -> Base.bool @@ portable

nominal type equality test

val same_witness : ('a : any) ('b : any). 'a Typerep_lib.Typename.t -> 'b Typerep_lib.Typename.t -> ('a, 'b) Base.Type_equal.t Base.option @@ portable
val same_witness_exn : ('a : any) ('b : any). 'a Typerep_lib.Typename.t -> 'b Typerep_lib.Typename.t -> ('a, 'b) Base.Type_equal.t @@ portable
module Key : sig ... end

a runtime representation of fully applied type 'a

val key : ('a : any). 'a Typerep_lib.Typename.t -> Typerep_lib.Typename.Key.t @@ portable
module Uid : sig ... end

an untyped runtime representation of non applied type

val uid : ('a : any). 'a Typerep_lib.Typename.t -> Typerep_lib.Typename.Uid.t @@ portable
val name : ('a : any). 'a Typerep_lib.Typename.t -> Base.string @@ portable
module Tuple_l : sig ... end
module type S0 = sig ... end
module Table (X : sig ... end) : sig ... end