Module Flambda_kind.With_subkind
module Nullable : sig ... endmodule Non_null_value_subkind : sig ... endval anything :
Flambda2_kinds.Flambda_kind.kind ->
Flambda2_kinds.Flambda_kind.With_subkind.tval non_null_value_subkind :
Flambda2_kinds.Flambda_kind.With_subkind.t ->
Flambda2_kinds.Flambda_kind.With_subkind.Non_null_value_subkind.tval has_useful_subkind_info :
Flambda2_kinds.Flambda_kind.With_subkind.t ->
boolval any_value : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_immediate : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_float32 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_float : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_int8 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_int16 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_int32 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_int64 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_nativeint : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_vec128 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_vec256 : Flambda2_kinds.Flambda_kind.With_subkind.tval naked_vec512 : Flambda2_kinds.Flambda_kind.With_subkind.tval region : Flambda2_kinds.Flambda_kind.With_subkind.tval boxed_float : Flambda2_kinds.Flambda_kind.With_subkind.tval boxed_int32 : Flambda2_kinds.Flambda_kind.With_subkind.tval boxed_int64 : Flambda2_kinds.Flambda_kind.With_subkind.tval boxed_nativeint : Flambda2_kinds.Flambda_kind.With_subkind.tval boxed_vec128 : Flambda2_kinds.Flambda_kind.With_subkind.tval tagged_immediate : Flambda2_kinds.Flambda_kind.With_subkind.tval rec_info : Flambda2_kinds.Flambda_kind.With_subkind.tval float_array : Flambda2_kinds.Flambda_kind.With_subkind.tval immediate_array : Flambda2_kinds.Flambda_kind.With_subkind.tval value_array : Flambda2_kinds.Flambda_kind.With_subkind.tval generic_array : Flambda2_kinds.Flambda_kind.With_subkind.tval unboxed_vec128_array : Flambda2_kinds.Flambda_kind.With_subkind.tval unboxed_vec256_array : Flambda2_kinds.Flambda_kind.With_subkind.tval unboxed_vec512_array : Flambda2_kinds.Flambda_kind.With_subkind.tval unboxed_product_array : Flambda2_kinds.Flambda_kind.With_subkind.tval float_block : num_fields:int -> Flambda2_kinds.Flambda_kind.With_subkind.tval of_naked_number_kind :
Flambda2_kinds.Flambda_kind.Naked_number_kind.t ->
Flambda2_kinds.Flambda_kind.With_subkind.tval naked_of_boxable_number :
Flambda2_kinds.Flambda_kind.Boxable_number.t ->
Flambda2_kinds.Flambda_kind.With_subkind.tval boxed_of_boxable_number :
Flambda2_kinds.Flambda_kind.Boxable_number.t ->
Flambda2_kinds.Flambda_kind.With_subkind.tval from_lambda_value_kind :
Lambda.value_kind ->
machine_width:Target_system.Machine_width.t ->
Flambda2_kinds.Flambda_kind.With_subkind.tval from_lambda_values_and_unboxed_numbers_only :
Lambda.layout ->
machine_width:Target_system.Machine_width.t ->
Flambda2_kinds.Flambda_kind.With_subkind.tval compatible :
Flambda2_kinds.Flambda_kind.With_subkind.t ->
when_used_at:Flambda2_kinds.Flambda_kind.With_subkind.t ->
boolval erase_subkind :
Flambda2_kinds.Flambda_kind.With_subkind.t ->
Flambda2_kinds.Flambda_kind.With_subkind.tinclude Flambda2_algorithms.Container_types.S
with type t := Flambda2_kinds.Flambda_kind.With_subkind.t
module T :
Flambda2_algorithms.Container_types_intf.Thing
with type t = Flambda2_kinds.Flambda_kind.With_subkind.tinclude Flambda2_algorithms.Container_types_intf.Thing
with type t := Flambda2_kinds.Flambda_kind.With_subkind.T.t
include Stdlib.Hashtbl.HashedType
with type t := Flambda2_kinds.Flambda_kind.With_subkind.T.t
val equal :
Flambda2_kinds.Flambda_kind.With_subkind.T.t ->
Flambda2_kinds.Flambda_kind.With_subkind.T.t ->
boolThe equality predicate used to compare keys.
val hash : Flambda2_kinds.Flambda_kind.With_subkind.T.t -> intA hashing function on keys. It must be such that if two keys are equal according to equal, then they have identical hash values as computed by hash. Examples: suitable (equal, hash) pairs for arbitrary key types include
- (
(=),hash) for comparing objects by structure (provided objects do not contain floats) - (
(fun x y -> compare x y = 0),hash) for comparing objects by structure and handlingStdlib.nancorrectly - (
(==),hash) for comparing objects by physical equality (e.g. for mutable or cyclic objects).
include Stdlib.Map.OrderedType
with type t := Flambda2_kinds.Flambda_kind.With_subkind.T.t
val compare :
Flambda2_kinds.Flambda_kind.With_subkind.T.t ->
Flambda2_kinds.Flambda_kind.With_subkind.T.t ->
intA total ordering function over the keys. This is a two-argument function f such that f e1 e2 is zero if the keys e1 and e2 are equal, f e1 e2 is strictly negative if e1 is smaller than e2, and f e1 e2 is strictly positive if e1 is greater than e2. Example: a suitable ordering function is the generic structural comparison function Stdlib.compare.
val print :
Stdlib.Format.formatter ->
Flambda2_kinds.Flambda_kind.With_subkind.T.t ->
unitmodule Set :
Flambda2_algorithms.Container_types_intf.Set
with type elt = Flambda2_kinds.Flambda_kind.With_subkind.tmodule Map :
Flambda2_algorithms.Container_types_intf.Map
with type key = Flambda2_kinds.Flambda_kind.With_subkind.t
and module Set = Flambda2_kinds.Flambda_kind.With_subkind.Setval equal_ignoring_subkind :
Flambda2_kinds.Flambda_kind.With_subkind.t ->
Flambda2_kinds.Flambda_kind.With_subkind.t ->
boolval must_be_gc_scannable : Flambda2_kinds.Flambda_kind.With_subkind.t -> bool