Mlsem_typesmodule PrinterCfg : sig ... endmodule PEnv : sig ... endPrinting environment: the type aliases to fold back when printing a type, so that a type built from type list('a) = … prints as list(int) rather than as its expansion.
module Ty : sig ... endmodule FTy : sig ... endmodule Enum : sig ... endmodule Tag : sig ... endmodule Abstract : sig ... endAbstract types: opaque parameterized type constructors, such as ref('a), whose parameters are invariant.
module Tuple : sig ... endmodule Lst : sig ... endmodule Record : sig ... endmodule Arrow : sig ... endmodule Recording : sig ... endCapture of the tallying instances solved during type-checking, for benchmarking the constraint solver outside of MLsem. Recording is a global on/off switch and the log a global accumulator.
module TVar : sig ... endmodule TVarSet : sig ... endmodule RVar : sig ... endmodule RVarSet : sig ... endmodule MVarSet = MVarSetmodule Row = Rowmodule Subst = Substmodule FieldCtx : sig ... endDecorrelation of row variables.
module TVOp : sig ... endmodule GTy : sig ... endGradual types.
module TyScheme : sig ... endType schemes: a gradual type together with the variables it quantifies universally. The other variables of the type are free, i.e. monomorphic.