module BuiltinFun:sig
..end
typet =
TopDown.S.T.t -> TopDown.S.T.t option
type
map
Map symbols to builtin functions. Every symbol can only have at most one built-in function.
val create : unit -> map
val add : map -> Const.t -> t -> unit
Interpret the given constant by the given function. The function can assume that any term is it given as a parameter has the constant as head.
val add_list : map -> (Const.t * t) list -> unit
val interpreted : map -> Const.t -> bool
Is the constant interpreted by a built-in function?
val eval : map -> TopDown.S.T.t -> TopDown.S.T.t
Evaluate the term at root