Module TopDown.S.BuiltinFun

module BuiltinFun: sig .. end

type t = 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