Module API.Calc

type operation_declaration = {
symbol : string;
infix : bool;
args : string list list;
code : Data.term list -> Data.term;
}
val register : descriptor:Setup.calc_descriptor -> operation_declaration -> unit

Registering an operation

val new_calc_descriptor : unit -> Setup.calc_descriptor

An empty descriptor for registering operations

val default_calc : operation_declaration list

Standard operations

val calc : BuiltIn.declaration list

The calc and is declarations

val eval : depth:int -> State.t -> Data.term -> Data.term

for use in other builtins