aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/ast.clisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/strap/ast.clisp')
-rw-r--r--src/boot/strap/ast.clisp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index b3abb36f..ae24d89c 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -151,11 +151,14 @@
|csts|
|varno|
|letno|
- |isno|)
+ |isno|
+ |sconds|)
-(DEFMACRO |mk%LoadUnit| (|fdefs| |sigs| |xports| |csts| |varno| |letno| |isno|)
+(DEFMACRO |mk%LoadUnit|
+ (|fdefs| |sigs| |xports| |csts| |varno| |letno| |isno| |sconds|)
(LIST '|MAKE-%LoadUnit| :|fdefs| |fdefs| :|sigs| |sigs| :|xports| |xports|
- :|csts| |csts| :|varno| |varno| :|letno| |letno| :|isno| |isno|))
+ :|csts| |csts| :|varno| |varno| :|letno| |letno| :|isno| |isno|
+ :|sconds| |sconds|))
(DEFMACRO |functionDefinitions| (|bfVar#1|) (LIST '|%LoadUnit-fdefs| |bfVar#1|))
@@ -171,7 +174,9 @@
(DEFMACRO |isVariableNumber| (|bfVar#1|) (LIST '|%LoadUnit-isno| |bfVar#1|))
-(DEFUN |makeLoadUnit| () (|mk%LoadUnit| NIL NIL NIL NIL 0 0 0))
+(DEFMACRO |sideConditions| (|bfVar#1|) (LIST '|%LoadUnit-sconds| |bfVar#1|))
+
+(DEFUN |makeLoadUnit| () (|mk%LoadUnit| NIL NIL NIL NIL 0 0 0 NIL))
(DEFUN |pushFunctionDefinition| (|tu| |def|)
(SETF (|functionDefinitions| |tu|) (CONS |def| (|functionDefinitions| |tu|))))
@@ -1516,7 +1521,6 @@
(DEFUN |bfMDef| (|tu| |op| |args| |body|)
(LET* (|def| |lamex| |argl|)
- (DECLARE (SPECIAL |$wheredefs|))
(PROGN
(SETQ |argl| (COND ((|bfTupleP| |args|) (CDR |args|)) (T (LIST |args|))))
(SETQ |lamex| (LIST 'MLAMBDA |argl| (|backquote| |body| |argl|)))
@@ -1524,7 +1528,7 @@
(CONS (|shoeComp| |def|)
(LET ((|bfVar#2| NIL)
(|bfVar#3| NIL)
- (|bfVar#1| |$wheredefs|)
+ (|bfVar#1| (|sideConditions| |tu|))
(|d| NIL))
(LOOP
(COND
@@ -1583,7 +1587,7 @@
(DEFUN |bfDef| (|tu| |op| |args| |body|)
(LET* (|body1| |arg1| |op1| |LETTMP#1|)
- (DECLARE (SPECIAL |$wheredefs| |$bfClamming|))
+ (DECLARE (SPECIAL |$bfClamming|))
(COND
(|$bfClamming|
(SETQ |LETTMP#1|
@@ -1594,7 +1598,8 @@
(|bfTuple|
(LET ((|bfVar#2| NIL)
(|bfVar#3| NIL)
- (|bfVar#1| (CONS (LIST |op| |args| |body|) |$wheredefs|))
+ (|bfVar#1|
+ (CONS (LIST |op| |args| |body|) (|sideConditions| |tu|)))
(|d| NIL))
(LOOP
(COND
@@ -2265,9 +2270,8 @@
(CONS (|bfAlternative| 'T (|bfSequence| |aft|))
NIL)))))))))
-(DEFUN |bfWhere| (|context| |expr|)
+(DEFUN |bfWhere| (|tu| |context| |expr|)
(LET* (|a| |nondefs| |defs| |opassoc| |LETTMP#1|)
- (DECLARE (SPECIAL |$wheredefs|))
(PROGN
(SETQ |LETTMP#1| (|defSheepAndGoats| |context|))
(SETQ |opassoc| (CAR |LETTMP#1|))
@@ -2289,7 +2293,7 @@
(SETQ |bfVar#3| |bfVar#2|))
(T (RPLACD |bfVar#3| #2#) (SETQ |bfVar#3| (CDR |bfVar#3|))))
(SETQ |bfVar#1| (CDR |bfVar#1|)))))
- (SETQ |$wheredefs| (|append| |a| |$wheredefs|))
+ (SETF (|sideConditions| |tu|) (|append| |a| (|sideConditions| |tu|)))
(|bfMKPROGN| (|bfSUBLIS| |opassoc| (|append!| |nondefs| (LIST |expr|)))))))
(DEFUN |bfCompHash| (|tu| |op| |argl| |body|)