(index ("constant?" 0) ("term?" 434) ("core-initialize" 569) ("parse" 1706) ("MLvalue?" 1918) ("core-eval-cbv" 2113) ("eval-cbv-initialize" 2333) ("mod-eval-cbv" 2523))
(def (sig (procedure "constant?:: OBJECT -> BOOL" (id constant?))) (p "A predicate for constants recognized by the interpreter.  " (tt "OBJECT") " must be of the form " (tt "(TYPE VALUE)") ", where value is a Scheme value and type is of the following symbols:") (ul (li (tt "nat") " (natural numbers)") (li (tt "real") " (real numbers)") (li (tt "bool") " (booleans)") (li (tt "label") " (symbols)") (li (tt "string") " (strings)")))
(def (sig (procedure "term?" (id term?))) (p "A predicate for a mini-ML term. See the next section for a list of term constructors."))
(def (sig (procedure "core-initialize:: enter-type enter-val -> VOID" (id core-initialize))) (p "Given procedures to add entries to a type environment, creates the constants of the mini-ML language.") (p "The following types and constants are currently included:") (dl (dt "Type " (tt "'a -> 'b") "  ") (dt "Type " (tt "'a * 'b")) (dt "Type " (tt "'a list")) (dt "Type " (tt "real")) (dt "Type " (tt "nat")) (dt "Type " (tt "bool") " ") (dt "Type " (tt "label")) (dt "Type " (tt "string")) (dt "Type " (tt "bot")) (dt "Constant " (tt "false : bool") " ") (dt "Constant " (tt "true  : bool")) (dt "Constant " (tt "empty : bot")) (dt "Constants " (tt "add sub mul div : nat -> nat -> nat ")) (dt "Constants " (tt "== <> < <= > >= : nat -> nat -> bool")) (dt "Constant " (tt "pair : 'a -> 'b -> 'a * 'b")) (dt "Constant " (tt "fst : 'a * 'b -> 'a")) (dt "Constant " (tt "snd : 'a * 'b -> 'b")) (dt "Constant " (tt "null : 'a list")) (dt "Constant " (tt "cons : 'a -> a' list -> 'a list")) (dt "Constant " (tt "head : a' list -> 'a")) (dt "Constant " (tt "tail : a' list -> 'a list")) (dt "Constant " (tt "cond : bool -> 'a -> 'a -> 'a"))))
(def (sig (procedure "parse:: PORT-OR-STRING -> MODDEF LIST " (id parse))) (p "Given a port or a string, the " (tt "parse") " procedure parses the given text, and returns a list of mini-ML module definitions."))
(def (sig (procedure "MLvalue?:: OBJECT -> BOOL" (id MLvalue?))) (p "Returns " (tt "#t") " if the given object is a mini-ML value, " (tt "#f") " otherwise. The following values are supported:"))
(def (sig (procedure "core-eval-cbv:: TERM * VALUE-ENV -> VALUE" (id core-eval-cbv))) (p "Given a mini-ML term and value environment, evaluates the term using a call-by-value strategy and returns the resulting value."))
(def (sig (procedure "eval-cbv-initialize:: ENTER-VAL -> VALUE-ENV" (id eval-cbv-initialize))) (p "Initializes a given evaluation environment with the primitives of the mini-ML language."))
(def (sig (procedure "mod-eval-cbv:: MODTERM -> VALUE-ENV" (id mod-eval-cbv))) (p "A module definition evaluator based on " (tt "core-eval-cbv") " and " (int-link "static-modules") "."))
