- basic = new Domain (null);
-
- basic.Defun ("set", new Evaluator (set_value), 2, 2, true);
- basic.Defun ("=", new Evaluator (set_value), 2, 2, true);
- basic.Defun ("+", new Evaluator (plus), 2, -1, false);
- basic.Defun ("*", new Evaluator (multi), 2, -1, false);
- basic.Defun ("-", new Evaluator (minus), 1, -1, false);
- basic.Defun ("/", new Evaluator (divide), 2, -1, false);
- basic.Defun ("%", new Evaluator (percent), 2, -1, false);
- basic.Defun ("|", new Evaluator (logior), 2, -1, false);
- basic.Defun ("&", new Evaluator (logand), 2, -1, false);
- basic.Defun ("+=", new Evaluator (pluseq), 2, -1, false);
- basic.Defun ("*=", new Evaluator (multieq), 2, -1, false);
- basic.Defun ("-=", new Evaluator (minuseq), 2, -1, false);
- basic.Defun ("/=", new Evaluator (divideeq), 2, -1, false);
- basic.Defun ("%=", new Evaluator (percenteq), 2, -1, false);
- basic.Defun ("|=", new Evaluator (logioreq), 2, -1, false);
- basic.Defun ("&=", new Evaluator (logandeq), 2, -1, false);
- basic.Defun ("<<", new Evaluator (lshift), 2, 2, false);
- basic.Defun (">>", new Evaluator (rshift), 2, 2, false);
- basic.Defun ("<<=", new Evaluator (lshifteq), 2, 2, false);
- basic.Defun (">>=", new Evaluator (rshifteq), 2, 2, false);
- basic.Defun ("==", new Evaluator (eq), 2, -1, false);
- basic.Defun ("!=", new Evaluator (noteq), 2, 2, false);
- basic.Defun ("<", new Evaluator (less), 2, -1, false);
- basic.Defun ("<=", new Evaluator (lesseq), 2, -1, false);
- basic.Defun (">", new Evaluator (more), 2, -1, false);
- basic.Defun (">=", new Evaluator (moreeq), 2, -1, false);
- basic.Defun ("progn", new Evaluator (progn), 0, -1, true);
- basic.Defun ("if", new Evaluator (ifclause), 2, -1, true);
- basic.Defun ("while", new Evaluator (whileclause), 1, -1, true);
+ basic = new Domain ();
+
+ basic.Defun ("set", set_value, 2, 2, true);
+ basic.Defun ("=", set_value, 2, 2, true);
+ basic.Defun ("!", not, 1, 1, false);
+ basic.Defun ("+", plus, 2, -1, false);
+ basic.Defun ("*", multi, 2, -1, false);
+ basic.Defun ("-", minus, 1, -1, false);
+ basic.Defun ("/", divide, 2, -1, false);
+ basic.Defun ("%", percent, 2, -1, false);
+ basic.Defun ("|", logior, 2, -1, false);
+ basic.Defun ("&", logand, 2, -1, false);
+ basic.Defun ("+=", pluseq, 2, -1, true);
+ basic.Defun ("*=", multieq, 2, -1, true);
+ basic.Defun ("-=", minuseq, 2, -1, true);
+ basic.Defun ("/=", divideeq, 2, -1, true);
+ basic.Defun ("%=", percenteq, 2, -1, true);
+ basic.Defun ("|=", logioreq, 2, -1, true);
+ basic.Defun ("&=", logandeq, 2, -1, true);
+ basic.Defun ("<<", lshift, 2, 2, false);
+ basic.Defun (">>", rshift, 2, 2, false);
+ basic.Defun ("<<=", lshifteq, 2, 2, true);
+ basic.Defun (">>=", rshifteq, 2, 2, true);
+ basic.Defun ("==", eq, 2, -1, false);
+ basic.Defun ("!=", noteq, 2, 2, false);
+ basic.Defun ("<", less, 2, -1, false);
+ basic.Defun ("<=", lesseq, 2, -1, false);
+ basic.Defun (">", more, 2, -1, false);
+ basic.Defun (">=", moreeq, 2, -1, false);
+ basic.Defun ("progn", progn, 0, -1, true);
+ basic.Defun ("if", ifclause, 2, -1, true);
+ basic.Defun ("when", whenclause, 1, -1, true);
+ basic.Defun ("while", whileclause, 1, -1, true);