jon.recoil.org

Module Jkind0.Jkind

include Allowance.Allow_disallow with type (_, _, 'd) sided = 'd Types.jkind
type (_, _, 'd) sided = 'd Types.jkind
val disallow_right : ('a, 'b, 'l * 'r) sided -> ('a, 'b, 'l * Allowance.disallowed) sided

Disallows on the right.

val disallow_left : ('a, 'b, 'l * 'r) sided -> ('a, 'b, Allowance.disallowed * 'r) sided

Disallows a the left.

val allow_right : ('a, 'b, 'l * Allowance.allowed) sided -> ('a, 'b, 'l * 'r) sided

Generalizes a right-hand-side allowed to be any allowance.

val allow_left : ('a, 'b, Allowance.allowed * 'r) sided -> ('a, 'b, 'l * 'r) sided

Generalizes a left-hand-side allowed to be any allowance.

val try_allow_r : ('l * 'r) Types.jkind -> ('l * Allowance.allowed) Types.jkind option
val of_const : annotation:Parsetree.jkind_annotation option -> why:Jkind_intf.History.creation_reason -> quality:'d Types.jkind_quality -> ran_out_of_fuel_during_normalize:bool -> 'd Const.t -> 'd Types.jkind

Construct a jkind from a constant jkind, at quality Not_best

val get_const : 'd Types.jkind -> 'd Const.t option

get_const returns a Const.t if the layout has no sort variables, returning None otherwise

Construct a jkind from a builtin kind, at quality Best.

val fresh_jkind_poly : ('a * 'b) Types.jkind_desc -> annotation:Parsetree.jkind_annotation option -> why:Jkind_intf.History.creation_reason -> ('a * 'b) Types.jkind
val mk_annot : string -> Parsetree.jkind_annotation option
val mark_best : ('l * 'r) Types.jkind -> ('l * Allowance.disallowed) Types.jkind
val map_type_expr : (Types.type_expr -> Types.type_expr) -> ('l * 'r) Types.jkind -> ('l * 'r) Types.jkind
val instance : Types.jkind_lr -> Types.jkind_lr
val has_with_bounds : Types.jkind_l -> bool
module Builtin : sig ... end
val add_with_bounds : modality:Mode.Modality.Const.t -> type_expr:Types.type_expr -> Types.jkind_l -> Types.jkind_l
val for_boxed_record : Types.label_declaration list -> Types.jkind_l
val gadt_payload_subst : projected_params:Types.type_expr list -> res_args:Types.type_expr list -> payload_tys:Types.type_expr list -> get_free_vars:(Types.type_expr list -> TypeSet.t) -> (Types.type_expr * Types.type_expr) list
val for_boxed_variant : loc:Location.t -> decl_params:Types.type_expr list -> type_apply: (Types.type_expr list -> Types.type_expr -> Types.type_expr list -> Types.type_expr) -> get_free_vars:(Types.type_expr list -> TypeSet.t) -> Types.constructor_declaration list -> Types.jkind_l
val for_or_null_argument : Ident.t -> 'd Types.jkind
val for_variant_with_null_result : Path.t -> Types.type_expr -> Types.jkind_l
val for_float : Ident.t -> Types.jkind_l

The jkind of a float.

val for_expr : Types.jkind_l

The jkind of a quoted expression, _ expr.

val for_array_argument : Types.jkind_lr

The jkind for array type arguments.