jon.recoil.org

Module Modes_lib.KindSource

Sourcetype t = {
  1. layout : Layout.t;
  2. bounds : Jkind_modifiers.t;
}
Sourceval of_ident_exn : ident:string -> t

Interprets ident as a kind, expanding abbreviations known to the compiler (e.g. mutable_data).

Raises if ident does not correspond to a know layout or kind abbreviation.

Sourceval apply_mods : t -> Jkind_modifiers.t -> t

Applies the given modifiers mods to the kind k --- produces the kind (k) mod (mods). This can only strengthen the kind, and so will not necessarily set the bounds to be exactly the modifiers provided.

Sourceval is_subkind : t -> of_:t -> bool