mirror of
https://github.com/kanaka/mal.git
synced 2024-09-19 09:38:28 +03:00
parent
b1165f9178
commit
bfa3dd3593
@ -47,8 +47,8 @@ EVAL = (ast, env) ->
|
||||
if !types._list_Q ast then return eval_ast ast, env
|
||||
|
||||
# apply list
|
||||
ast = macroexpand ast, env
|
||||
if !types._list_Q ast then return ast
|
||||
ast = macroexpand ast, env
|
||||
if !types._list_Q ast then return eval_ast ast, env
|
||||
|
||||
[a0, a1, a2, a3] = ast
|
||||
switch a0.name
|
||||
|
@ -47,8 +47,8 @@ EVAL = (ast, env) ->
|
||||
if !types._list_Q ast then return eval_ast ast, env
|
||||
|
||||
# apply list
|
||||
ast = macroexpand ast, env
|
||||
if !types._list_Q ast then return ast
|
||||
ast = macroexpand ast, env
|
||||
if !types._list_Q ast then return eval_ast ast, env
|
||||
|
||||
[a0, a1, a2, a3] = ast
|
||||
switch a0.name
|
||||
|
@ -47,8 +47,8 @@ EVAL = (ast, env) ->
|
||||
if !types._list_Q ast then return eval_ast ast, env
|
||||
|
||||
# apply list
|
||||
ast = macroexpand ast, env
|
||||
if !types._list_Q ast then return ast
|
||||
ast = macroexpand ast, env
|
||||
if !types._list_Q ast then return eval_ast ast, env
|
||||
|
||||
[a0, a1, a2, a3] = ast
|
||||
switch a0.name
|
||||
|
@ -64,7 +64,7 @@ const EVAL = (ast, env) => {
|
||||
if (!_list_Q(ast)) { return eval_ast(ast, env) }
|
||||
|
||||
ast = macroexpand(ast, env)
|
||||
if (!_list_Q(ast)) { return ast; }
|
||||
if (!_list_Q(ast)) { return eval_ast(ast, env) }
|
||||
|
||||
const [a0, a1, a2, a3] = ast
|
||||
const a0sym = _symbol_Q(a0) ? Symbol.keyFor(a0) : Symbol(':default')
|
||||
|
@ -64,7 +64,7 @@ const EVAL = (ast, env) => {
|
||||
if (!_list_Q(ast)) { return eval_ast(ast, env) }
|
||||
|
||||
ast = macroexpand(ast, env)
|
||||
if (!_list_Q(ast)) { return ast; }
|
||||
if (!_list_Q(ast)) { return eval_ast(ast, env) }
|
||||
|
||||
const [a0, a1, a2, a3] = ast
|
||||
const a0sym = _symbol_Q(a0) ? Symbol.keyFor(a0) : Symbol(':default')
|
||||
|
@ -64,7 +64,7 @@ const EVAL = (ast, env) => {
|
||||
if (!_list_Q(ast)) { return eval_ast(ast, env) }
|
||||
|
||||
ast = macroexpand(ast, env)
|
||||
if (!_list_Q(ast)) { return ast; }
|
||||
if (!_list_Q(ast)) { return eval_ast(ast, env) }
|
||||
|
||||
const [a0, a1, a2, a3] = ast
|
||||
const a0sym = _symbol_Q(a0) ? Symbol.keyFor(a0) : Symbol(':default')
|
||||
|
@ -78,7 +78,9 @@ function _EVAL(ast, env) {
|
||||
|
||||
// apply list
|
||||
ast = macroexpand(ast, env);
|
||||
if (!types._list_Q(ast)) { return ast; }
|
||||
if (!types._list_Q(ast)) {
|
||||
return eval_ast(ast, env);
|
||||
}
|
||||
|
||||
var a0 = ast[0], a1 = ast[1], a2 = ast[2], a3 = ast[3];
|
||||
switch (a0.value) {
|
||||
|
@ -78,7 +78,9 @@ function _EVAL(ast, env) {
|
||||
|
||||
// apply list
|
||||
ast = macroexpand(ast, env);
|
||||
if (!types._list_Q(ast)) { return ast; }
|
||||
if (!types._list_Q(ast)) {
|
||||
return eval_ast(ast, env);
|
||||
}
|
||||
|
||||
var a0 = ast[0], a1 = ast[1], a2 = ast[2], a3 = ast[3];
|
||||
switch (a0.value) {
|
||||
|
@ -79,7 +79,9 @@ function _EVAL(ast, env) {
|
||||
|
||||
// apply list
|
||||
ast = macroexpand(ast, env);
|
||||
if (!types._list_Q(ast)) { return ast; }
|
||||
if (!types._list_Q(ast)) {
|
||||
return eval_ast(ast, env);
|
||||
}
|
||||
|
||||
var a0 = ast[0], a1 = ast[1], a2 = ast[2], a3 = ast[3];
|
||||
switch (a0.value) {
|
||||
|
@ -74,7 +74,7 @@
|
||||
;; apply list
|
||||
(let* [ast (MACROEXPAND ast env)]
|
||||
(if (not (list? ast))
|
||||
ast
|
||||
(eval-ast ast env)
|
||||
|
||||
(let* [a0 (first ast)]
|
||||
(cond
|
||||
|
@ -74,7 +74,7 @@
|
||||
;; apply list
|
||||
(let* [ast (MACROEXPAND ast env)]
|
||||
(if (not (list? ast))
|
||||
ast
|
||||
(eval-ast ast env)
|
||||
|
||||
(let* [a0 (first ast)]
|
||||
(cond
|
||||
|
@ -74,7 +74,7 @@
|
||||
;; apply list
|
||||
(let* [ast (MACROEXPAND ast env)]
|
||||
(if (not (list? ast))
|
||||
ast
|
||||
(eval-ast ast env)
|
||||
|
||||
(let* [a0 (first ast)]
|
||||
(cond
|
||||
|
@ -73,7 +73,7 @@
|
||||
["eval-ast", "ast", "env"],
|
||||
["let", ["ast", ["macroexpand", "ast", "env"]],
|
||||
["if", ["not", ["list?", "ast"]],
|
||||
"ast",
|
||||
["eval-ast", "ast", "env"],
|
||||
["let", ["a0", ["get", ["first", "ast"], ["`", "val"]]],
|
||||
["if", ["=", ["`", "def!"], "a0"],
|
||||
["env-set", "env", ["nth", "ast", 1],
|
||||
|
@ -73,7 +73,7 @@
|
||||
["eval-ast", "ast", "env"],
|
||||
["let", ["ast", ["macroexpand", "ast", "env"]],
|
||||
["if", ["not", ["list?", "ast"]],
|
||||
"ast",
|
||||
["eval-ast", "ast", "env"],
|
||||
["let", ["a0", ["get", ["first", "ast"], ["`", "val"]]],
|
||||
["if", ["=", ["`", "def!"], "a0"],
|
||||
["env-set", "env", ["nth", "ast", 1],
|
||||
|
@ -73,7 +73,7 @@
|
||||
["eval-ast", "ast", "env"],
|
||||
["let", ["ast", ["macroexpand", "ast", "env"]],
|
||||
["if", ["not", ["list?", "ast"]],
|
||||
"ast",
|
||||
["eval-ast", "ast", "env"],
|
||||
["let", ["a0", ["get", ["first", "ast"], ["`", "val"]]],
|
||||
["if", ["=", ["`", "def!"], "a0"],
|
||||
["env-set", "env", ["nth", "ast", 1],
|
||||
|
Loading…
Reference in New Issue
Block a user