sig
exception Error of string
type variable
type renv
val setLocation : Loc.loc -> unit
val setVariableDependence :
CfTypes.variable -> CfTypes.variable list -> unit
val error : string -> unit
val typeToString : CfTypes.variable -> string
val readyTask : CfTypes.renv * (unit -> unit) -> unit
val executeTasks : unit -> unit
type slot
val newSlot : CfTypes.renv -> int -> (unit -> unit) -> CfTypes.slot
val sync : CfTypes.slot -> unit
val incrSlot : CfTypes.slot -> unit
val slotVariableStrict : CfTypes.slot -> CfTypes.variable -> unit
val slotVariableLenient : CfTypes.slot -> CfTypes.variable -> unit
val unify : CfTypes.variable -> CfTypes.variable -> unit
val isEqual :
CfTypes.renv ->
CfTypes.variable -> CfTypes.variable -> CfTypes.variable -> unit
val newFree : unit -> CfTypes.variable
val newFreeLoc : Loc.loc -> string -> CfTypes.renv -> CfTypes.variable
val newFreeWithTask :
CfTypes.renv -> (CfTypes.variable -> unit) -> CfTypes.variable
val newInteger : Intbig.intbig -> CfTypes.variable
val isInteger : CfTypes.variable -> bool
val getInteger : CfTypes.variable -> Intbig.intbig
val getInt : CfTypes.variable -> int
val newFloat : float -> CfTypes.variable
val isFloat : CfTypes.variable -> bool
val getFloat : CfTypes.variable -> float
val newBoolean : bool -> CfTypes.variable
val isBoolean : CfTypes.variable -> bool
val getBoolean : CfTypes.variable -> bool
val zero_width_vector : CfTypes.variable
val is_zero_width_vector : CfTypes.variable -> bool
val checkBits : string -> unit
val newVector : Cf_fnf.producer -> CfTypes.variable
val newVectorConst :
Intbig.intbig -> Intbig.intbig -> Cf_fnf.system -> CfTypes.variable
val isVector : CfTypes.variable -> bool
val getWidth : CfTypes.variable -> int
val getProducer : CfTypes.variable -> Cf_fnf.producer
val checkWidth : CfTypes.variable -> unit
val checkWidthNotZero : CfTypes.variable -> unit
val checkWidthIs : CfTypes.variable -> int -> unit
val checkWidthsAreSame : CfTypes.variable -> CfTypes.variable -> unit
val isProperty : CfTypes.variable -> bool
val newPropertyVector : CfTypes.variable -> CfTypes.variable
val newPropertyNot : CfTypes.variable -> CfTypes.variable
val newPropertyOr :
CfTypes.variable -> CfTypes.variable -> CfTypes.variable
val newPropertyNext : CfTypes.variable -> CfTypes.variable
val newPropertyUntil :
CfTypes.variable -> CfTypes.variable -> CfTypes.variable
val newRecord :
int -> string array -> CfTypes.variable array -> CfTypes.variable
val isRecord : CfTypes.variable -> bool
val recordInfo : CfTypes.variable -> CfTypes.variable
val getFieldByName : CfTypes.variable -> string -> CfTypes.variable
val getFieldByIndex : CfTypes.variable -> int -> CfTypes.variable
val isList : CfTypes.variable -> bool
val listToString : CfTypes.variable -> string
val stringToList : string -> CfTypes.variable
val listToIntegerList : CfTypes.variable -> Intbig.intbig list
val listToIntList : CfTypes.variable -> int list
val newComp :
CfTypes.renv * Loc.loc * int * string * string array *
(CfTypes.renv -> unit) -> CfTypes.variable
val isComp : CfTypes.variable -> bool
val getCompInfo :
CfTypes.variable ->
CfTypes.renv * Loc.loc * int * string * string array *
(CfTypes.renv -> unit)
val newSystem : CfTypes.renv -> CfTypes.variable
val isSystem : CfTypes.variable -> bool
val getRenv : CfTypes.variable -> CfTypes.renv
val getPorts : CfTypes.variable -> CfTypes.variable
val getEnvId : CfTypes.renv -> Cf_fnf.system
val newEnvRoot : unit -> CfTypes.renv
val extendEnv :
CfTypes.renv ->
Loc.loc ->
CfTypes.renv * Loc.loc * int * string * string array * 'a ->
string -> CfTypes.renv
val getRelativeEnv : CfTypes.renv -> int -> CfTypes.renv
val getRenvValues : CfTypes.renv -> CfTypes.variable array
val checkAllPortsDetermined : unit -> unit
end