aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lisp-backend.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/lisp-backend.boot')
-rw-r--r--src/interp/lisp-backend.boot13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot
index db970d90..941aca5b 100644
--- a/src/interp/lisp-backend.boot
+++ b/src/interp/lisp-backend.boot
@@ -43,7 +43,7 @@ namespace BOOT
module lisp_-backend where
expandToVMForm: %Thing -> %Thing
eval: %Thing -> %Thing
- printBackendDecl: (%Symbol,%Code) -> %Void
+ printBackendDecl: %Code -> %Void
transformToBackendCode: %Form -> %Code
@@ -767,10 +767,9 @@ expandToVMForm x ==
eval x ==
EVAL expandToVMForm x
-
-compileLispDefinition(name,def) ==
- $backend ~= nil => apply($backend,name,def,nil)
- nil
+++ Augment the current evaluation environment with a function definition.
+evaluateLispDefinition body ==
+ eval body
++ Return true if `parms' is the empty list
++ or is a proper list of identifiers.
@@ -814,7 +813,7 @@ COMPILE1 fun ==
body :=
type in '(%lambda LAMBDA) => ['DEFUN,name,newArgs,:body]
['DEFMACRO,name,newArgs,:body]
- compileLispDefinition(name,body)
+ apply($backend,[body])
body
COMP370 x ==
@@ -827,7 +826,7 @@ assembleCode x ==
else COMP370 x
first x
-printBackendDecl(label,decl) ==
+printBackendDecl decl ==
st :=
sp := symbolAssoc('COMPILER_-OUTPUT_-STREAM,$compilerOptions) => rest sp
$OutputStream