You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
353 B
18 lines
353 B
var parse = require("./parse.js").parse;
|
|
|
|
function isAtom(x) {
|
|
return stx.exprType != "List";
|
|
}
|
|
|
|
function evaluate(exp, env) {
|
|
if (isAtom(exp)) {
|
|
switch (exp.exprType) {
|
|
case "Function":
|
|
return evaluate(invoke(exp, env), env);
|
|
case "Name":
|
|
return lookup(expr.val);
|
|
default:
|
|
return expr.val;
|
|
}
|
|
}
|
|
}
|
|
|