package inferno

  1. Overview
  2. Docs

Parameters

module O : SolverSig.OUTPUT with type 'a structure = 'a S.structure

Signature

type variable
val fresh : variable O.structure option -> variable
type ischeme
type rawco =
  1. | CRange of range * rawco
  2. | CTrue
  3. | CConj of rawco * rawco
  4. | CEq of variable * variable
  5. | CExist of variable * rawco
  6. | CInstance of X.tevar * variable * variable list WriteOnceRef.t
  7. | CDef of X.tevar * variable * rawco
  8. | CLet of (X.tevar * variable * ischeme WriteOnceRef.t) list * rawco * rawco * variable list WriteOnceRef.t
exception Unbound of range * X.tevar
exception Unify of range * variable * variable
exception Cycle of range * 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
OCaml

Innovation. Community. Security.