aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/SYMBOL.lsp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-06 04:17:00 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-06 04:17:00 +0000
commitf39c8c2ab9bf4ab06fefc09d75bcc95124d0acc1 (patch)
tree86e83ad35a5208b25a6bd0bdfd3e429df7713f7f /src/algebra/strap/SYMBOL.lsp
parent4f5eed96341cffc2c2e783b99cd61dde37570230 (diff)
downloadopen-axiom-f39c8c2ab9bf4ab06fefc09d75bcc95124d0acc1.tar.gz
* interp/compiler.boot (compRepeatOrCollect): Compile list
comprehension to %collect form.
Diffstat (limited to 'src/algebra/strap/SYMBOL.lsp')
-rw-r--r--src/algebra/strap/SYMBOL.lsp89
1 files changed, 35 insertions, 54 deletions
diff --git a/src/algebra/strap/SYMBOL.lsp b/src/algebra/strap/SYMBOL.lsp
index e9cc7814..1071ebce 100644
--- a/src/algebra/strap/SYMBOL.lsp
+++ b/src/algebra/strap/SYMBOL.lsp
@@ -209,7 +209,7 @@
(SPADCALL |x| (|getShellEntry| $ 79)))
(DEFUN |SYMBOL;syprefix| (|sc| $)
- (PROG (|ns| #0=#:G1548 |n| #1=#:G1549)
+ (PROG (|ns|)
(RETURN
(SEQ (LETT |ns|
(LIST (LENGTH (QVELT |sc| 3)) (LENGTH (QVELT |sc| 2))
@@ -228,28 +228,17 @@
(CONS (STRCONC (|getShellEntry| $ 38)
(|SYMBOL;istring|
(LENGTH (QVELT |sc| 4)) $))
- (PROGN
- (LETT #0# NIL |SYMBOL;syprefix|)
- (SEQ (LETT |n| NIL |SYMBOL;syprefix|)
- (LETT #1# (NREVERSE |ns|)
- |SYMBOL;syprefix|)
- G190
- (COND
- ((OR (ATOM #1#)
- (PROGN
- (LETT |n| (CAR #1#)
- |SYMBOL;syprefix|)
- NIL))
- (GO G191)))
- (SEQ (EXIT
- (LETT #0#
- (CONS (|SYMBOL;istring| |n| $)
- #0#)
- |SYMBOL;syprefix|)))
- (LETT #1# (CDR #1#)
- |SYMBOL;syprefix|)
- (GO G190) G191
- (EXIT (NREVERSE0 #0#)))))
+ (LET ((#0=#:G1549 (NREVERSE |ns|))
+ (#1=#:G1548 NIL))
+ (LOOP
+ (COND
+ ((ATOM #0#) (RETURN (NREVERSE #1#)))
+ (T (LET ((|n| (CAR #0#)))
+ (LETT #1#
+ (CONS (|SYMBOL;istring| |n| $)
+ #1#)
+ |SYMBOL;syprefix|))))
+ (LETT #0# (CDR #0#) |SYMBOL;syprefix|))))
(|getShellEntry| $ 93)))))))
(DEFUN |SYMBOL;syscripts| (|sc| $)
@@ -608,7 +597,7 @@
(DEFUN |SYMBOL;scripts;$R;32| (|sy| $)
(PROG (|lscripts| |str| |nstr| |j| |nscripts| |m| |n| #0=#:G1552 |i|
- #1=#:G1553 |a| #2=#:G1554 |allscripts|)
+ |allscripts|)
(RETURN
(SEQ (COND
((NOT (|SYMBOL;scripted?;$B;30| |sy| $))
@@ -639,15 +628,15 @@
(|getShellEntry| $ 139))))
(GO G191)))
(SPADCALL |nscripts| |i|
- (LET ((#3=#:G1542
+ (LET ((#1=#:G1542
(-
(SPADCALL
(SPADCALL |str| |j|
(|getShellEntry| $ 106))
(|getShellEntry| $ 44))
(|getShellEntry| $ 45))))
- (|check-subtype| (>= #3# 0)
- '(|NonNegativeInteger|) #3#))
+ (|check-subtype| (>= #1# 0)
+ '(|NonNegativeInteger|) #1#))
(|getShellEntry| $ 148))
(LETT |i|
(PROG1 (+ |i| 1)
@@ -681,33 +670,25 @@
(|error| "Improper script count in symbol"))
('T
(SEQ (SPADCALL |lscripts| |i|
- (PROGN
- (LETT #1# NIL
- |SYMBOL;scripts;$R;32|)
- (SEQ
- (LETT |a| NIL
- |SYMBOL;scripts;$R;32|)
- (LETT #2#
- (SPADCALL |allscripts| |n|
- (|getShellEntry| $ 156))
- |SYMBOL;scripts;$R;32|)
- G190
- (COND
- ((OR (ATOM #2#)
- (PROGN
- (LETT |a| (CAR #2#)
- |SYMBOL;scripts;$R;32|)
- NIL))
- (GO G191)))
- (LETT #1#
- (CONS
- (|SYMBOL;coerce;$Of;11| |a| $)
- #1#)
- |SYMBOL;scripts;$R;32|)
- (LETT #2# (CDR #2#)
- |SYMBOL;scripts;$R;32|)
- (GO G190) G191
- (EXIT (NREVERSE0 #1#))))
+ (LET
+ ((#2=#:G1554
+ (SPADCALL |allscripts| |n|
+ (|getShellEntry| $ 156)))
+ (#3=#:G1553 NIL))
+ (LOOP
+ (COND
+ ((ATOM #2#)
+ (RETURN (NREVERSE #3#)))
+ (T
+ (LET ((|a| (CAR #2#)))
+ (LETT #3#
+ (CONS
+ (|SYMBOL;coerce;$Of;11|
+ |a| $)
+ #3#)
+ |SYMBOL;scripts;$R;32|))))
+ (LETT #2# (CDR #2#)
+ |SYMBOL;scripts;$R;32|)))
(|getShellEntry| $ 157))
(EXIT (LETT |allscripts|
(SPADCALL |allscripts| |n|