package inferno

  1. Overview
  2. Docs

Parameters

module O : sig ... end

Signature

type variable
val fresh : variable O.structure option -> variable
type ischeme
type rawco =
  1. | CTrue
  2. | CConj of rawco * rawco
  3. | CEq of variable * variable
  4. | CExist of variable * rawco
  5. | CInstance of X.tevar * variable * variable list WriteOnceRef.t
  6. | CDef of X.tevar * variable * rawco
  7. | CLet of (X.tevar * variable * ischeme WriteOnceRef.t) list * rawco * rawco * variable list WriteOnceRef.t
exception Unbound of X.tevar
exception Unify of variable * variable
exception Cycle of variable
val solve : bool -> rawco -> unit
val decode_variable : variable -> O.tyvar
type decoder = variable -> O.ty
val new_decoder : bool -> decoder
val decode_scheme : decoder -> ischeme -> O.scheme