From 36563244081c887f2f68eea73c5088674f7d8f37 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 16 Feb 2010 14:32:26 +0000 Subject: * interp/compiler.boot (compAtomWithModemap): Rewrite. (transImplementation): Remove. --- src/ChangeLog | 5 + src/algebra/strap/BOOLEAN.lsp | 62 ++++----- src/algebra/strap/SYMBOL.lsp | 296 +++++++++++++++++++++--------------------- src/interp/compiler.boot | 24 +--- 4 files changed, 190 insertions(+), 197 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 3f365d21..59ddfda0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-02-16 Gabriel Dos Reis + + * interp/compiler.boot (compAtomWithModemap): Rewrite. + (transImplementation): Remove. + 2010-02-15 Gabriel Dos Reis * interp/compiler.boot (transImplementation): Loose last argument. diff --git a/src/algebra/strap/BOOLEAN.lsp b/src/algebra/strap/BOOLEAN.lsp index c808e229..4c78aa4b 100644 --- a/src/algebra/strap/BOOLEAN.lsp +++ b/src/algebra/strap/BOOLEAN.lsp @@ -137,12 +137,12 @@ (DEFUN |BOOLEAN;size;Nni;17| ($) (DECLARE (IGNORE $)) 2) (DEFUN |BOOLEAN;index;Pi$;18| (|i| $) - (COND ((SPADCALL |i| (|getShellEntry| $ 28)) NIL) ('T T))) + (COND ((SPADCALL |i| (|getShellEntry| $ 26)) NIL) ('T T))) (DEFUN |BOOLEAN;lookup;$Pi;19| (|a| $) (COND (|a| 1) ('T 2))) (DEFUN |BOOLEAN;random;$;20| ($) - (COND ((SPADCALL (|random|) (|getShellEntry| $ 28)) NIL) ('T T))) + (COND ((SPADCALL (|random|) (|getShellEntry| $ 26)) NIL) ('T T))) (DEFUN |BOOLEAN;convert;$If;21| (|x| $) (COND (|x| '|true|) ('T '|false|))) @@ -172,7 +172,7 @@ (RETURN (PROGN (LETT |dv$| '(|Boolean|) . #0=(|Boolean|)) - (LETT $ (|newShell| 41) . #0#) + (LETT $ (|newShell| 39) . #0#) (|setShellEntry| $ 0 |dv$|) (|setShellEntry| $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#)) @@ -188,22 +188,22 @@ (FUNCALL (|dispatchFunction| |BOOLEAN;false;$;3|) $)) |BOOLEAN;not;2$;4| |BOOLEAN;~;2$;5| |BOOLEAN;and;3$;6| |BOOLEAN;/\\;3$;7| |BOOLEAN;or;3$;8| |BOOLEAN;\\/;3$;9| - |BOOLEAN;xor;3$;10| (|Boolean|) (0 . |false|) - |BOOLEAN;nor;3$;11| (4 . |true|) |BOOLEAN;nand;3$;12| - |BOOLEAN;=;3$;13| |BOOLEAN;implies;3$;14| - |BOOLEAN;equiv;3$;15| |BOOLEAN;<;3$;16| - (|NonNegativeInteger|) |BOOLEAN;size;Nni;17| (|Integer|) - (8 . |even?|) (|PositiveInteger|) |BOOLEAN;index;Pi$;18| - (13 . |One|) |BOOLEAN;lookup;$Pi;19| (17 . |random|) + |BOOLEAN;xor;3$;10| |BOOLEAN;nor;3$;11| + |BOOLEAN;nand;3$;12| (|Boolean|) |BOOLEAN;=;3$;13| + |BOOLEAN;implies;3$;14| |BOOLEAN;equiv;3$;15| + |BOOLEAN;<;3$;16| (|NonNegativeInteger|) + |BOOLEAN;size;Nni;17| (|Integer|) (0 . |even?|) + (|PositiveInteger|) |BOOLEAN;index;Pi$;18| (5 . |One|) + |BOOLEAN;lookup;$Pi;19| (9 . |random|) |BOOLEAN;random;$;20| (|InputForm|) |BOOLEAN;convert;$If;21| (|OutputForm|) |BOOLEAN;coerce;$Of;22| (|SingleInteger|) (|String|)) - '#(~= 21 ~ 27 |xor| 32 |true| 38 |test| 42 |size| 47 |random| - 51 |or| 55 |not| 61 |nor| 66 |nand| 72 |min| 78 |max| 88 - |lookup| 98 |latex| 103 |index| 108 |implies| 113 |hash| - 119 |false| 124 |equiv| 128 |convert| 134 |coerce| 139 - |before?| 144 |and| 150 |\\/| 156 >= 162 > 168 = 174 <= - 180 < 186 |/\\| 192) + '#(~= 13 ~ 19 |xor| 24 |true| 30 |test| 34 |size| 39 |random| + 43 |or| 47 |not| 53 |nor| 58 |nand| 64 |min| 70 |max| 80 + |lookup| 90 |latex| 95 |index| 100 |implies| 105 |hash| + 111 |false| 116 |equiv| 120 |convert| 126 |coerce| 131 + |before?| 136 |and| 142 |\\/| 148 >= 154 > 160 = 166 <= + 172 < 178 |/\\| 184) 'NIL (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0)) (CONS '#(NIL |OrderedSet&| NIL NIL |Logic&| @@ -211,21 +211,21 @@ (CONS '#((|OrderedFinite|) (|OrderedSet|) (|PropositionalLogic|) (|Finite|) (|Logic|) (|SetCategory|) - (|ConvertibleTo| 35) (|BasicType|) - (|CoercibleTo| 37)) - (|makeByteWordVec2| 40 - '(0 16 0 17 0 16 0 19 1 27 16 0 28 0 29 - 0 31 0 27 0 33 2 0 16 0 0 1 1 0 0 0 - 10 2 0 0 0 0 15 0 0 0 7 1 0 0 0 6 0 0 - 25 26 0 0 0 34 2 0 0 0 0 13 1 0 0 0 9 - 2 0 0 0 0 18 2 0 0 0 0 20 0 0 0 1 2 0 - 0 0 0 1 0 0 0 1 2 0 0 0 0 1 1 0 29 0 - 32 1 0 40 0 1 1 0 0 29 30 2 0 0 0 0 - 22 1 0 39 0 1 0 0 0 8 2 0 0 0 0 23 1 - 0 35 0 36 1 0 37 0 38 2 0 16 0 0 1 2 - 0 0 0 0 11 2 0 0 0 0 14 2 0 16 0 0 1 - 2 0 16 0 0 1 2 0 16 0 0 21 2 0 16 0 0 - 1 2 0 16 0 0 24 2 0 0 0 0 12))))) + (|ConvertibleTo| 33) (|BasicType|) + (|CoercibleTo| 35)) + (|makeByteWordVec2| 38 + '(1 25 18 0 26 0 27 0 29 0 25 0 31 2 0 + 18 0 0 1 1 0 0 0 10 2 0 0 0 0 15 0 0 + 0 7 1 0 0 0 6 0 0 23 24 0 0 0 32 2 0 + 0 0 0 13 1 0 0 0 9 2 0 0 0 0 16 2 0 0 + 0 0 17 0 0 0 1 2 0 0 0 0 1 0 0 0 1 2 + 0 0 0 0 1 1 0 27 0 30 1 0 38 0 1 1 0 + 0 27 28 2 0 0 0 0 20 1 0 37 0 1 0 0 0 + 8 2 0 0 0 0 21 1 0 33 0 34 1 0 35 0 + 36 2 0 18 0 0 1 2 0 0 0 0 11 2 0 0 0 + 0 14 2 0 18 0 0 1 2 0 18 0 0 1 2 0 18 + 0 0 19 2 0 18 0 0 1 2 0 18 0 0 22 2 0 + 0 0 0 12))))) '|lookupComplete|)) (MAKEPROP '|Boolean| 'NILADIC T) diff --git a/src/algebra/strap/SYMBOL.lsp b/src/algebra/strap/SYMBOL.lsp index 56936104..faef8b4e 100644 --- a/src/algebra/strap/SYMBOL.lsp +++ b/src/algebra/strap/SYMBOL.lsp @@ -197,16 +197,16 @@ (|SYMBOL;script;$L$;22| |sy| (LIST NIL NIL NIL NIL |lx|) $)) (DEFUN |SYMBOL;patternMatch;$P2Pmr;16| (|x| |p| |l| $) - (SPADCALL |x| |p| |l| (|getShellEntry| $ 69))) + (SPADCALL |x| |p| |l| (|getShellEntry| $ 67))) (DEFUN |SYMBOL;patternMatch;$P2Pmr;17| (|x| |p| |l| $) - (SPADCALL |x| |p| |l| (|getShellEntry| $ 76))) + (SPADCALL |x| |p| |l| (|getShellEntry| $ 74))) (DEFUN |SYMBOL;convert;$P;18| (|x| $) - (SPADCALL |x| (|getShellEntry| $ 79))) + (SPADCALL |x| (|getShellEntry| $ 77))) (DEFUN |SYMBOL;convert;$P;19| (|x| $) - (SPADCALL |x| (|getShellEntry| $ 81))) + (SPADCALL |x| (|getShellEntry| $ 79))) (DEFUN |SYMBOL;syprefix| (|sc| $) (PROG (|ns| #0=#:G1547 |n| #1=#:G1548) @@ -250,22 +250,22 @@ |SYMBOL;syprefix|) (GO G190) G191 (EXIT (NREVERSE0 #0#))))) - (|getShellEntry| $ 95))))))) + (|getShellEntry| $ 93))))))) (DEFUN |SYMBOL;syscripts| (|sc| $) (PROG (|all|) (RETURN (SEQ (LETT |all| (QVELT |sc| 3) |SYMBOL;syscripts|) (LETT |all| - (SPADCALL (QVELT |sc| 2) |all| (|getShellEntry| $ 96)) + (SPADCALL (QVELT |sc| 2) |all| (|getShellEntry| $ 94)) |SYMBOL;syscripts|) (LETT |all| - (SPADCALL (QVELT |sc| 1) |all| (|getShellEntry| $ 96)) + (SPADCALL (QVELT |sc| 1) |all| (|getShellEntry| $ 94)) |SYMBOL;syscripts|) (LETT |all| - (SPADCALL (QVELT |sc| 0) |all| (|getShellEntry| $ 96)) + (SPADCALL (QVELT |sc| 0) |all| (|getShellEntry| $ 94)) |SYMBOL;syscripts|) - (EXIT (SPADCALL |all| (QVELT |sc| 4) (|getShellEntry| $ 96))))))) + (EXIT (SPADCALL |all| (QVELT |sc| 4) (|getShellEntry| $ 94))))))) (DEFUN |SYMBOL;script;$L$;22| (|sy| |ls| $) (PROG (|sc|) @@ -321,9 +321,9 @@ (COND ((> (QCSIZE |s|) 1) (COND - ((SPADCALL (SPADCALL |s| 1 (|getShellEntry| $ 108)) + ((SPADCALL (SPADCALL |s| 1 (|getShellEntry| $ 106)) (SPADCALL "\\" (|getShellEntry| $ 43)) - (|getShellEntry| $ 109)) + (|getShellEntry| $ 107)) (LETT |s| (STRCONC "\\mbox{\\it " (STRCONC |s| "}")) |SYMBOL;latex;$S;25|))))) (COND ((NOT (|SYMBOL;scripted?;$B;30| |e| $)) (EXIT |s|))) @@ -338,7 +338,7 @@ (SEQ (LETT |sc| (STRCONC |sc| (SPADCALL (|SPADfirst| |lo|) - (|getShellEntry| $ 114))) + (|getShellEntry| $ 112))) |SYMBOL;latex;$S;25|) (LETT |lo| (CDR |lo|) |SYMBOL;latex;$S;25|) @@ -359,7 +359,7 @@ (SEQ (LETT |sc| (STRCONC |sc| (SPADCALL (|SPADfirst| |lo|) - (|getShellEntry| $ 114))) + (|getShellEntry| $ 112))) |SYMBOL;latex;$S;25|) (LETT |lo| (CDR |lo|) |SYMBOL;latex;$S;25|) @@ -380,7 +380,7 @@ (SEQ (LETT |sc| (STRCONC |sc| (SPADCALL (|SPADfirst| |lo|) - (|getShellEntry| $ 114))) + (|getShellEntry| $ 112))) |SYMBOL;latex;$S;25|) (LETT |lo| (CDR |lo|) |SYMBOL;latex;$S;25|) @@ -401,7 +401,7 @@ (SEQ (LETT |sc| (STRCONC |sc| (SPADCALL (|SPADfirst| |lo|) - (|getShellEntry| $ 114))) + (|getShellEntry| $ 112))) |SYMBOL;latex;$S;25|) (LETT |lo| (CDR |lo|) |SYMBOL;latex;$S;25|) @@ -422,7 +422,7 @@ (SEQ (LETT |sc| (STRCONC |sc| (SPADCALL (|SPADfirst| |lo|) - (|getShellEntry| $ 114))) + (|getShellEntry| $ 112))) |SYMBOL;latex;$S;25|) (LETT |lo| (CDR |lo|) |SYMBOL;latex;$S;25|) @@ -452,9 +452,9 @@ (SPADCALL |s| (+ (QCDR |qr|) (SPADCALL |s| - (|getShellEntry| $ 119))) - (|getShellEntry| $ 108)) - |ns| (|getShellEntry| $ 121)) + (|getShellEntry| $ 117))) + (|getShellEntry| $ 106)) + |ns| (|getShellEntry| $ 119)) |SYMBOL;anyRadix|) (EXIT (COND @@ -472,14 +472,14 @@ (SEQ (LETT |sym| (|SYMBOL;anyRadix| (SPADCALL (|getShellEntry| $ 10) - (|getShellEntry| $ 122)) + (|getShellEntry| $ 120)) (|getShellEntry| $ 20) $) |SYMBOL;new;$;27|) (SPADCALL (|getShellEntry| $ 10) (+ (SPADCALL (|getShellEntry| $ 10) - (|getShellEntry| $ 122)) + (|getShellEntry| $ 120)) 1) - (|getShellEntry| $ 123)) + (|getShellEntry| $ 121)) (EXIT (|SYMBOL;coerce;S$;8| (STRCONC "%" |sym|) $)))))) (DEFUN |SYMBOL;new;2$;28| (|x| $) @@ -488,14 +488,14 @@ (SEQ (LETT |n| (SEQ (LETT |u| (SPADCALL |x| (|getShellEntry| $ 13) - (|getShellEntry| $ 126)) + (|getShellEntry| $ 124)) |SYMBOL;new;2$;28|) (EXIT (COND ((QEQCAR |u| 1) 0) ('T (+ (QCDR |u|) 1))))) |SYMBOL;new;2$;28|) (SPADCALL (|getShellEntry| $ 13) |x| |n| - (|getShellEntry| $ 129)) + (|getShellEntry| $ 127)) (LETT |xx| (COND ((NOT (|SYMBOL;scripted?;$B;30| |x| $)) @@ -509,12 +509,12 @@ (COND ((>= (SPADCALL (SPADCALL |xx| - (SPADCALL |xx| (|getShellEntry| $ 130)) - (|getShellEntry| $ 108)) + (SPADCALL |xx| (|getShellEntry| $ 128)) + (|getShellEntry| $ 106)) (|getShellEntry| $ 19) - (|getShellEntry| $ 131)) + (|getShellEntry| $ 129)) (SPADCALL (|getShellEntry| $ 19) - (|getShellEntry| $ 119))) + (|getShellEntry| $ 117))) (STRCONC |xx| (|SYMBOL;anyRadix| |n| (|getShellEntry| $ 21) $))) @@ -532,11 +532,11 @@ (DEFUN |SYMBOL;resetNew;V;29| ($) (PROG (|k| #0=#:G1549) (RETURN - (SEQ (SPADCALL (|getShellEntry| $ 10) 0 (|getShellEntry| $ 123)) + (SEQ (SPADCALL (|getShellEntry| $ 10) 0 (|getShellEntry| $ 121)) (SEQ (LETT |k| NIL |SYMBOL;resetNew;V;29|) (LETT #0# (SPADCALL (|getShellEntry| $ 13) - (|getShellEntry| $ 135)) + (|getShellEntry| $ 133)) |SYMBOL;resetNew;V;29|) G190 (COND @@ -546,10 +546,10 @@ NIL)) (GO G191))) (SEQ (EXIT (SPADCALL |k| (|getShellEntry| $ 13) - (|getShellEntry| $ 136)))) + (|getShellEntry| $ 134)))) (LETT #0# (CDR #0#) |SYMBOL;resetNew;V;29|) (GO G190) G191 (EXIT NIL)) - (EXIT (SPADCALL (|getShellEntry| $ 137))))))) + (EXIT (SPADCALL (|getShellEntry| $ 135))))))) (DEFUN |SYMBOL;scripted?;$B;30| (|sy| $) (NOT (ATOM |sy|))) @@ -563,7 +563,7 @@ (|SYMBOL;string;$S;24| (SPADCALL (|SYMBOL;list;$L;34| |sy| $) - (|getShellEntry| $ 140)) + (|getShellEntry| $ 138)) $) |SYMBOL;name;2$;31|) (SEQ (EXIT (SEQ @@ -580,8 +580,8 @@ ((NOT (SPADCALL (SPADCALL |str| |i| - (|getShellEntry| $ 108)) - (|getShellEntry| $ 144))) + (|getShellEntry| $ 106)) + (|getShellEntry| $ 142))) (PROGN (LETT #2# (PROGN @@ -591,9 +591,9 @@ (SPADCALL |i| (QCSIZE |str|) (|getShellEntry| $ - 146)) + 144)) (|getShellEntry| $ - 147)) + 145)) $) |SYMBOL;name;2$;31|) (GO #1#)) @@ -621,12 +621,12 @@ (LETT |str| (|SYMBOL;string;$S;24| (SPADCALL (|SYMBOL;list;$L;34| |sy| $) - (|getShellEntry| $ 140)) + (|getShellEntry| $ 138)) $) |SYMBOL;scripts;$R;32|) (LETT |nstr| (QCSIZE |str|) |SYMBOL;scripts;$R;32|) (LETT |m| - (SPADCALL |nscripts| (|getShellEntry| $ 149)) + (SPADCALL |nscripts| (|getShellEntry| $ 147)) |SYMBOL;scripts;$R;32|) (SEQ (LETT |j| (+ (|getShellEntry| $ 41) 1) |SYMBOL;scripts;$R;32|) @@ -635,21 +635,21 @@ ((OR (> |j| |nstr|) (NULL (SPADCALL (SPADCALL |str| |j| - (|getShellEntry| $ 108)) - (|getShellEntry| $ 144)))) + (|getShellEntry| $ 106)) + (|getShellEntry| $ 142)))) (GO G191))) (SPADCALL |nscripts| |i| (PROG1 (LETT #0# (- (SPADCALL (SPADCALL |str| |j| - (|getShellEntry| $ 108)) + (|getShellEntry| $ 106)) (|getShellEntry| $ 44)) (|getShellEntry| $ 45)) |SYMBOL;scripts;$R;32|) (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#)) - (|getShellEntry| $ 151)) + (|getShellEntry| $ 149)) (LETT |i| (PROG1 (+ |i| 1) (LETT |j| (+ |j| 1) @@ -659,14 +659,14 @@ (LETT |nscripts| (SPADCALL (CDR |nscripts|) (|SPADfirst| |nscripts|) - (|getShellEntry| $ 154)) + (|getShellEntry| $ 152)) |SYMBOL;scripts;$R;32|) (LETT |allscripts| (SPADCALL (|SYMBOL;list;$L;34| |sy| $) - (|getShellEntry| $ 155)) + (|getShellEntry| $ 153)) |SYMBOL;scripts;$R;32|) (LETT |m| - (SPADCALL |lscripts| (|getShellEntry| $ 156)) + (SPADCALL |lscripts| (|getShellEntry| $ 154)) |SYMBOL;scripts;$R;32|) (SEQ (LETT |n| NIL |SYMBOL;scripts;$R;32|) (LETT #1# |nscripts| |SYMBOL;scripts;$R;32|) @@ -680,7 +680,7 @@ (GO G191))) (COND ((< (SPADCALL |allscripts| - (|getShellEntry| $ 157)) + (|getShellEntry| $ 155)) |n|) (|error| "Improper script count in symbol")) ('T @@ -693,7 +693,7 @@ |SYMBOL;scripts;$R;32|) (LETT #3# (SPADCALL |allscripts| |n| - (|getShellEntry| $ 159)) + (|getShellEntry| $ 157)) |SYMBOL;scripts;$R;32|) G190 (COND @@ -712,10 +712,10 @@ |SYMBOL;scripts;$R;32|) (GO G190) G191 (EXIT (NREVERSE0 #2#)))) - (|getShellEntry| $ 160)) + (|getShellEntry| $ 158)) (EXIT (LETT |allscripts| (SPADCALL |allscripts| |n| - (|getShellEntry| $ 161)) + (|getShellEntry| $ 159)) |SYMBOL;scripts;$R;32|))))) (LETT |i| (PROG1 (+ |i| 1) @@ -724,15 +724,15 @@ |SYMBOL;scripts;$R;32|) (GO G190) G191 (EXIT NIL)) (EXIT (VECTOR (SPADCALL |lscripts| |m| - (|getShellEntry| $ 162)) + (|getShellEntry| $ 160)) (SPADCALL |lscripts| (+ |m| 1) - (|getShellEntry| $ 162)) + (|getShellEntry| $ 160)) (SPADCALL |lscripts| (+ |m| 2) - (|getShellEntry| $ 162)) + (|getShellEntry| $ 160)) (SPADCALL |lscripts| (+ |m| 3) - (|getShellEntry| $ 162)) + (|getShellEntry| $ 160)) (SPADCALL |lscripts| (+ |m| 4) - (|getShellEntry| $ 162))))))))))) + (|getShellEntry| $ 160))))))))))) (DEFUN |SYMBOL;istring| (|n| $) (COND @@ -768,7 +768,7 @@ (RETURN (PROGN (LETT |dv$| '(|Symbol|) . #0=(|Symbol|)) - (LETT $ (|newShell| 167) . #0#) + (LETT $ (|newShell| 165) . #0#) (|setShellEntry| $ 0 |dv$|) (|setShellEntry| $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#)) @@ -807,118 +807,116 @@ (64 . |convert|) |SYMBOL;convert;$If;6| |SYMBOL;convert;2$;7| |SYMBOL;coerce;S$;8| |SYMBOL;=;2$B;9| |SYMBOL;<;2$B;10| (|OutputForm|) - (69 . |outputForm|) |SYMBOL;coerce;$Of;11| (74 . |nil|) - (|List| 53) (78 . |nil|) (|List| 57) (82 . |nil|) - |SYMBOL;script;$L$;22| |SYMBOL;subscript;$L$;12| - |SYMBOL;elt;$L$;13| |SYMBOL;superscript;$L$;14| - |SYMBOL;argscript;$L$;15| (|PatternMatchResult| 6 25) - (|Pattern| 6) (|PatternMatchSymbol| 6) - (86 . |patternMatch|) (|PatternMatchResult| 6 $) - |SYMBOL;patternMatch;$P2Pmr;16| (|Float|) - (|PatternMatchResult| 72 25) (|Pattern| 72) - (|PatternMatchSymbol| 72) (93 . |patternMatch|) - (|PatternMatchResult| 72 $) - |SYMBOL;patternMatch;$P2Pmr;17| (100 . |coerce|) - |SYMBOL;convert;$P;18| (105 . |coerce|) - |SYMBOL;convert;$P;19| (110 . |#|) (|List| 6) (115 . |#|) - (120 . >=) (126 . |first|) (131 . |zero?|) (136 . |false|) - (140 . |rest|) (145 . |concat|) (151 . |reverse!|) - (156 . |concat|) (|List| $) (162 . |concat|) - (167 . |concat|) (173 . |null|) (178 . |first|) - (183 . |rest|) - (|Record| (|:| |sub| 57) (|:| |sup| 57) (|:| |presup| 57) - (|:| |presub| 57) (|:| |args| 57)) + (69 . |outputForm|) |SYMBOL;coerce;$Of;11| (|List| 53) + (74 . |nil|) (|List| 56) |SYMBOL;script;$L$;22| + |SYMBOL;subscript;$L$;12| |SYMBOL;elt;$L$;13| + |SYMBOL;superscript;$L$;14| |SYMBOL;argscript;$L$;15| + (|PatternMatchResult| 6 25) (|Pattern| 6) + (|PatternMatchSymbol| 6) (78 . |patternMatch|) + (|PatternMatchResult| 6 $) |SYMBOL;patternMatch;$P2Pmr;16| + (|Float|) (|PatternMatchResult| 70 25) (|Pattern| 70) + (|PatternMatchSymbol| 70) (85 . |patternMatch|) + (|PatternMatchResult| 70 $) + |SYMBOL;patternMatch;$P2Pmr;17| (92 . |coerce|) + |SYMBOL;convert;$P;18| (97 . |coerce|) + |SYMBOL;convert;$P;19| (102 . |#|) (|List| 6) (107 . |#|) + (112 . >=) (118 . |first|) (123 . |zero?|) (128 . |false|) + (132 . |rest|) (137 . |concat|) (143 . |reverse!|) + (148 . |concat|) (|List| $) (154 . |concat|) + (159 . |concat|) (165 . |null|) (170 . |first|) + (175 . |rest|) + (|Record| (|:| |sub| 56) (|:| |sup| 56) (|:| |presup| 56) + (|:| |presub| 56) (|:| |args| 56)) |SYMBOL;script;$R$;23| |SYMBOL;name;2$;31| - |SYMBOL;string;$S;24| (188 . |concat|) (194 . |One|) - (198 . >) (204 . |One|) (208 . |elt|) (214 . ~=) - |SYMBOL;scripts;$R;32| (220 . |empty?|) (225 . |not|) - (230 . |first|) (235 . |latex|) (240 . |rest|) + |SYMBOL;string;$S;24| (180 . |concat|) (186 . |One|) + (190 . >) (196 . |One|) (200 . |elt|) (206 . ~=) + |SYMBOL;scripts;$R;32| (212 . |empty?|) (217 . |not|) + (222 . |first|) (227 . |latex|) (232 . |rest|) |SYMBOL;latex;$S;25| (|Record| (|:| |quotient| $) (|:| |remainder| $)) - (245 . |divide|) (251 . |minIndex|) (256 . +) - (262 . |concat|) (268 . |elt|) (273 . |setelt|) - |SYMBOL;new;$;27| (|Union| 6 '"failed") (279 . |search|) - (285 . |Zero|) (289 . |inc|) (294 . |setelt|) - (301 . |maxIndex|) (306 . |position|) (312 . >=) - |SYMBOL;new;2$;28| (|List| $$) (318 . |keys|) - (323 . |remove!|) (329 . |void|) |SYMBOL;resetNew;V;29| - |SYMBOL;list;$L;34| (333 . |first|) (|SingleInteger|) - (338 . |One|) (342 . +) (348 . |digit?|) - (|UniversalSegment| 6) (353 . SEGMENT) (359 . |elt|) - (|List| 39) (365 . |minIndex|) (370 . -) (376 . |setelt|) - (383 . |rest|) (388 . |first|) (393 . |concat|) - (399 . |rest|) (404 . |minIndex|) (409 . |#|) (414 . <) - (420 . |first|) (426 . |setelt|) (433 . |rest|) - (439 . |elt|) (445 . >) (451 . |minIndex|) (456 . |elt|) + (237 . |divide|) (243 . |minIndex|) (248 . +) + (254 . |concat|) (260 . |elt|) (265 . |setelt|) + |SYMBOL;new;$;27| (|Union| 6 '"failed") (271 . |search|) + (277 . |Zero|) (281 . |inc|) (286 . |setelt|) + (293 . |maxIndex|) (298 . |position|) (304 . >=) + |SYMBOL;new;2$;28| (|List| $$) (310 . |keys|) + (315 . |remove!|) (321 . |void|) |SYMBOL;resetNew;V;29| + |SYMBOL;list;$L;34| (325 . |first|) (|SingleInteger|) + (330 . |One|) (334 . +) (340 . |digit?|) + (|UniversalSegment| 6) (345 . SEGMENT) (351 . |elt|) + (|List| 39) (357 . |minIndex|) (362 . -) (368 . |setelt|) + (375 . |rest|) (380 . |first|) (385 . |concat|) + (391 . |rest|) (396 . |minIndex|) (401 . |#|) (406 . <) + (412 . |first|) (418 . |setelt|) (425 . |rest|) + (431 . |elt|) (437 . >) (443 . |minIndex|) (448 . |elt|) (CONS IDENTITY (FUNCALL (|dispatchFunction| |SYMBOL;sample;$;35|) $))) - '#(~= 462 |superscript| 468 |subscript| 474 |string| 480 - |scripts| 485 |scripted?| 490 |script| 495 |sample| 507 - |resetNew| 511 |patternMatch| 515 |new| 529 |name| 538 - |min| 543 |max| 549 |list| 555 |latex| 560 |hash| 565 - |elt| 570 |convert| 576 |coerce| 596 |before?| 606 - |argscript| 612 |OMwrite| 618 >= 642 > 648 = 654 <= 660 < - 666) + '#(~= 454 |superscript| 460 |subscript| 466 |string| 472 + |scripts| 477 |scripted?| 482 |script| 487 |sample| 499 + |resetNew| 503 |patternMatch| 507 |new| 521 |name| 530 + |min| 535 |max| 541 |list| 547 |latex| 552 |hash| 557 + |elt| 562 |convert| 568 |coerce| 588 |before?| 598 + |argscript| 604 |OMwrite| 610 >= 634 > 640 = 646 <= 652 < + 658) 'NIL (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0)) (CONS '#(|OrderedSet&| NIL NIL |SetCategory&| |BasicType&| NIL NIL NIL NIL NIL NIL NIL) - (CONS '#((|OrderedSet|) (|PatternMatchable| 72) + (CONS '#((|OrderedSet|) (|PatternMatchable| 70) (|PatternMatchable| 6) (|SetCategory|) - (|BasicType|) (|ConvertibleTo| 74) - (|ConvertibleTo| 67) + (|BasicType|) (|ConvertibleTo| 72) + (|ConvertibleTo| 65) (|CoercibleFrom| 14) (|ConvertibleTo| 25) (|OpenMath|) (|ConvertibleTo| 46) (|CoercibleTo| 53)) - (|makeByteWordVec2| 166 + (|makeByteWordVec2| 164 '(0 6 0 7 1 8 0 6 9 0 11 0 12 1 16 0 15 17 2 26 24 0 25 27 0 28 0 29 2 26 0 14 28 30 1 26 24 0 31 1 26 24 0 32 1 26 24 0 33 1 14 39 0 40 1 42 0 14 43 1 42 39 0 44 1 46 0 25 47 1 53 0 25 - 54 0 15 0 56 0 57 0 58 0 59 0 60 3 68 - 66 25 67 66 69 3 75 73 25 74 73 76 1 - 74 0 25 79 1 67 0 25 81 1 57 39 0 83 - 1 84 39 0 85 2 39 22 0 0 86 1 84 6 0 - 87 1 6 22 0 88 0 22 0 89 1 84 0 0 90 - 2 14 0 0 0 91 1 84 0 0 92 2 15 0 14 0 - 93 1 14 0 94 95 2 57 0 0 0 96 1 59 22 - 0 97 1 59 57 0 98 1 59 0 0 99 2 57 0 - 53 0 104 0 39 0 105 2 39 22 0 0 106 0 - 6 0 107 2 14 42 0 6 108 2 42 22 0 0 - 109 1 57 22 0 111 1 22 0 0 112 1 57 - 53 0 113 1 53 14 0 114 1 57 0 0 115 2 - 6 117 0 0 118 1 14 6 0 119 2 6 0 0 0 - 120 2 14 0 42 0 121 1 8 6 0 122 2 8 6 - 0 6 123 2 11 125 2 0 126 0 39 0 127 1 - 6 0 0 128 3 11 6 0 2 6 129 1 14 6 0 - 130 2 14 6 42 0 131 2 6 22 0 0 132 1 - 11 134 0 135 2 11 125 2 0 136 0 24 0 - 137 1 134 2 0 140 0 141 0 142 2 39 0 - 0 0 143 1 42 22 0 144 2 145 0 6 6 146 - 2 14 0 0 145 147 1 148 6 0 149 2 6 0 - 0 0 150 3 148 39 0 6 39 151 1 148 0 0 - 152 1 148 39 0 153 2 148 0 0 39 154 1 - 134 0 0 155 1 59 6 0 156 1 134 39 0 - 157 2 39 22 0 0 158 2 134 0 0 39 159 - 3 59 57 0 6 57 160 2 134 0 0 39 161 2 - 59 57 0 6 162 2 6 22 0 0 163 1 16 6 0 - 164 2 16 14 0 6 165 2 0 22 0 0 1 2 0 - 0 0 57 64 2 0 0 0 57 62 1 0 14 0 103 - 1 0 100 0 110 1 0 22 0 23 2 0 0 0 59 - 61 2 0 0 0 100 101 0 0 0 166 0 0 24 - 138 3 0 77 0 74 77 78 3 0 70 0 67 70 - 71 1 0 0 0 133 0 0 0 124 1 0 0 0 102 - 2 0 0 0 0 1 2 0 0 0 0 1 1 0 94 0 139 - 1 0 14 0 116 1 0 141 0 1 2 0 0 0 57 - 63 1 0 67 0 82 1 0 74 0 80 1 0 25 0 - 49 1 0 46 0 48 1 0 0 14 50 1 0 53 0 - 55 2 0 22 0 0 1 2 0 0 0 57 65 2 0 24 - 26 0 36 3 0 24 26 0 22 37 1 0 14 0 34 - 2 0 14 0 22 35 2 0 22 0 0 1 2 0 22 0 - 0 1 2 0 22 0 0 51 2 0 22 0 0 1 2 0 22 - 0 0 52))))) + 54 0 56 0 57 3 66 64 25 65 64 67 3 73 + 71 25 72 71 74 1 72 0 25 77 1 65 0 25 + 79 1 56 39 0 81 1 82 39 0 83 2 39 22 + 0 0 84 1 82 6 0 85 1 6 22 0 86 0 22 0 + 87 1 82 0 0 88 2 14 0 0 0 89 1 82 0 0 + 90 2 15 0 14 0 91 1 14 0 92 93 2 56 0 + 0 0 94 1 58 22 0 95 1 58 56 0 96 1 58 + 0 0 97 2 56 0 53 0 102 0 39 0 103 2 + 39 22 0 0 104 0 6 0 105 2 14 42 0 6 + 106 2 42 22 0 0 107 1 56 22 0 109 1 + 22 0 0 110 1 56 53 0 111 1 53 14 0 + 112 1 56 0 0 113 2 6 115 0 0 116 1 14 + 6 0 117 2 6 0 0 0 118 2 14 0 42 0 119 + 1 8 6 0 120 2 8 6 0 6 121 2 11 123 2 + 0 124 0 39 0 125 1 6 0 0 126 3 11 6 0 + 2 6 127 1 14 6 0 128 2 14 6 42 0 129 + 2 6 22 0 0 130 1 11 132 0 133 2 11 + 123 2 0 134 0 24 0 135 1 132 2 0 138 + 0 139 0 140 2 39 0 0 0 141 1 42 22 0 + 142 2 143 0 6 6 144 2 14 0 0 143 145 + 1 146 6 0 147 2 6 0 0 0 148 3 146 39 + 0 6 39 149 1 146 0 0 150 1 146 39 0 + 151 2 146 0 0 39 152 1 132 0 0 153 1 + 58 6 0 154 1 132 39 0 155 2 39 22 0 0 + 156 2 132 0 0 39 157 3 58 56 0 6 56 + 158 2 132 0 0 39 159 2 58 56 0 6 160 + 2 6 22 0 0 161 1 16 6 0 162 2 16 14 0 + 6 163 2 0 22 0 0 1 2 0 0 0 56 62 2 0 + 0 0 56 60 1 0 14 0 101 1 0 98 0 108 1 + 0 22 0 23 2 0 0 0 58 59 2 0 0 0 98 99 + 0 0 0 164 0 0 24 136 3 0 75 0 72 75 + 76 3 0 68 0 65 68 69 1 0 0 0 131 0 0 + 0 122 1 0 0 0 100 2 0 0 0 0 1 2 0 0 0 + 0 1 1 0 92 0 137 1 0 14 0 114 1 0 139 + 0 1 2 0 0 0 56 61 1 0 65 0 80 1 0 72 + 0 78 1 0 25 0 49 1 0 46 0 48 1 0 0 14 + 50 1 0 53 0 55 2 0 22 0 0 1 2 0 0 0 + 56 63 2 0 24 26 0 36 3 0 24 26 0 22 + 37 1 0 14 0 34 2 0 14 0 22 35 2 0 22 + 0 0 1 2 0 22 0 0 1 2 0 22 0 0 51 2 0 + 22 0 0 1 2 0 22 0 0 52))))) '|lookupComplete|)) (MAKEPROP '|Symbol| 'NILADIC T) diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 1c5808d4..a580dcaf 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -380,26 +380,16 @@ compExpression(x,m,e) == FUNCALL(fn,x,m,e) compForm(x,m,e) -++ Subroutine of compAtomWithModemap. -++ Record a local reference to an overload constant, and return -++ corresponding middle-end form. -transImplementation: (%Form,%Modemap) -> %Code -transImplementation(op,map) == - fn := genDeltaEntry [op,:map] - fn is ["XLAM",:.] => [fn] - ["call",fn] - ++ Subroutine of compAtom. ++ Elaborate use of an overloaded constant. compAtomWithModemap: (%Symbol,%Mode,%Env,%List) -> %Maybe %Triple -compAtomWithModemap(x,m,e,v) == - Tl := - [[transImplementation(x,map),target,e] - for map in v | map is [[.,target],[.,fn]]] => - --accept only monadic operators - T:= or/[t for (t:= [.,target,.]) in Tl | modeEqual(m,target)] => T - 1=#(Tl:= [y for t in Tl | (y:= convert(t,m))]) => first Tl - nil +compAtomWithModemap(x,m,e,mmList) == + -- 1. Get out of here f `x' cannot possibly be a constant. + null mmList => nil + -- FIXME: Reject niladic functions that are used as constants. + -- 2. If the context is not specified, give up on ambigiuity. + $compUniquelyIfTrue: local := m = $EmptyMode or m = $NoValueMode + CATCH("compUniquely", compForm3([x],m,e,mmList)) compAtom(x,m,e) == x = "break" => compBreak(x,m,e) -- cgit v1.2.3