diff options
author | dos-reis <gdr@axiomatics.org> | 2009-04-23 03:09:23 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-04-23 03:09:23 +0000 |
commit | 1db4bd76938d5901b39cb516327a054c1aa0fdec (patch) | |
tree | 9b414df91b23f58365bd46d1839c8b67c93ef9ba | |
parent | 4167349c0697014915c1997647c58bbc99ddf832 (diff) | |
download | open-axiom-1db4bd76938d5901b39cb516327a054c1aa0fdec.tar.gz |
* interp/sys-constants.boot ($SystemInlinableConstructorNames):
Include Identifier.
* interp/compiler.boot (compElt): Fix up 0 and 1 shenannigan.
* algebra/boolean.spad.pamphlet (Reference): Use Identifier.
* algebra/Makefile.pamphlet (axiom_algebra_bootstrap): Remove REF.
(axiom_algebra_bootstrap_last_layer): Likewise.
* algebra/strap/REF.lsp: Remove.
-rw-r--r-- | src/ChangeLog | 10 | ||||
-rw-r--r-- | src/algebra/Makefile.in | 8 | ||||
-rw-r--r-- | src/algebra/Makefile.pamphlet | 8 | ||||
-rw-r--r-- | src/algebra/boolean.spad.pamphlet | 4 | ||||
-rw-r--r-- | src/algebra/strap/REF.lsp | 111 | ||||
-rw-r--r-- | src/interp/compiler.boot | 2 | ||||
-rw-r--r-- | src/interp/sys-constants.boot | 1 |
7 files changed, 22 insertions, 122 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0dff0eac..6f839da9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2009-04-22 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/sys-constants.boot ($SystemInlinableConstructorNames): + Include Identifier. + * interp/compiler.boot (compElt): Fix up 0 and 1 shenannigan. + * algebra/boolean.spad.pamphlet (Reference): Use Identifier. + * algebra/Makefile.pamphlet (axiom_algebra_bootstrap): Remove REF. + (axiom_algebra_bootstrap_last_layer): Likewise. + * algebra/strap/REF.lsp: Remove. + 2009-04-21 Gabriel Dos Reis <gdr@cs.tamu.edu> * algebra/Makefile.pamphlet: Move aggregates to layer 0. diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index f380b340..b084075d 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -198,7 +198,7 @@ axiom_algebra_bootstrap = \ ORDRING ORDRING- OUTFORM PI \ PRIMARR POLYCAT POLYCAT- PSETCAT \ PSETCAT- QFCAT QFCAT- RCAGG \ - RCAGG- REF RING RING- \ + RCAGG- RING RING- \ RNG RNS RNS- SETAGG \ SETAGG- SINT \ STAGG STAGG- SYMBOL TSETCAT \ @@ -217,7 +217,6 @@ axiom_algebra_bootstrap_last_layer = \ OUTFORM PI \ PRIMARR POLYCAT POLYCAT- PSETCAT \ PSETCAT- QFCAT QFCAT- \ - REF \ RNS RNS- \ SINT \ SYMBOL TSETCAT \ @@ -320,6 +319,7 @@ $(OUT)/RNG.$(FASLEXT): $(OUT)/SGROUP.$(FASLEXT) $(OUT)/CTORKIND.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IOMODE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/REF.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/PRINT.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) axiom_algebra_layer_0 = \ @@ -395,7 +395,7 @@ axiom_algebra_layer_1 = \ DIFRING DIFRING- ENTIRER INTDOM INTDOM- OINTDOM \ GCDDOM GCDDOM- UFD UFD- \ PATAB PPCURVE PSCURVE RESLATC \ - SEGCAT BINDING \ + IDENT SEGCAT BINDING \ ORDRING ORDRING- FEVALAB FEVALAB- \ OSGROUP MAYBE DATAARY PROPLOG HOMOTOP BYTEORD \ FIELD FIELD- @@ -408,7 +408,7 @@ axiom_algebra_layer_1_objects = \ $(addsuffix .$(FASLEXT),$(axiom_algebra_layer_1))) axiom_algebra_layer_2 = \ SYNTAX INTRET SEGXCAT CONTOUR LIST3 MKFUNC \ - KTVLOGIC FNCAT IDENT + REF KTVLOGIC FNCAT $(OUT)/FNCAT.$(FASLEXT): $(OUT)/HOMOTOP.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) $(OUT)/SYNTAX.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT) diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index c358caf1..87a7a534 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -147,7 +147,7 @@ axiom_algebra_bootstrap = \ ORDRING ORDRING- OUTFORM PI \ PRIMARR POLYCAT POLYCAT- PSETCAT \ PSETCAT- QFCAT QFCAT- RCAGG \ - RCAGG- REF RING RING- \ + RCAGG- RING RING- \ RNG RNS RNS- SETAGG \ SETAGG- SINT \ STAGG STAGG- SYMBOL TSETCAT \ @@ -166,7 +166,6 @@ axiom_algebra_bootstrap_last_layer = \ OUTFORM PI \ PRIMARR POLYCAT POLYCAT- PSETCAT \ PSETCAT- QFCAT QFCAT- \ - REF \ RNS RNS- \ SINT \ SYMBOL TSETCAT \ @@ -274,6 +273,7 @@ $(OUT)/RNG.$(FASLEXT): $(OUT)/SGROUP.$(FASLEXT) $(OUT)/CTORKIND.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IOMODE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/REF.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/PRINT.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) axiom_algebra_layer_0 = \ @@ -354,7 +354,7 @@ axiom_algebra_layer_1 = \ DIFRING DIFRING- ENTIRER INTDOM INTDOM- OINTDOM \ GCDDOM GCDDOM- UFD UFD- \ PATAB PPCURVE PSCURVE RESLATC \ - SEGCAT BINDING \ + IDENT SEGCAT BINDING \ ORDRING ORDRING- FEVALAB FEVALAB- \ OSGROUP MAYBE DATAARY PROPLOG HOMOTOP BYTEORD \ FIELD FIELD- @@ -372,7 +372,7 @@ axiom_algebra_layer_1_objects = \ <<layer2>>= axiom_algebra_layer_2 = \ SYNTAX INTRET SEGXCAT CONTOUR LIST3 MKFUNC \ - KTVLOGIC FNCAT IDENT + REF KTVLOGIC FNCAT $(OUT)/FNCAT.$(FASLEXT): $(OUT)/HOMOTOP.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) $(OUT)/SYNTAX.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT) diff --git a/src/algebra/boolean.spad.pamphlet b/src/algebra/boolean.spad.pamphlet index b38ef042..62c94c47 100644 --- a/src/algebra/boolean.spad.pamphlet +++ b/src/algebra/boolean.spad.pamphlet @@ -318,7 +318,7 @@ Reference(S:Type): Type with if S has SetCategory then coerce p == - prefix('ref::OutputForm, [p.value::OutputForm]) + prefix('ref::Identifier::OutputForm, [p.value::OutputForm]) @ @@ -568,7 +568,7 @@ KleeneTrivalentLogic(): Public == Private where <<license>>= --Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. --All rights reserved. ---Copyright (C) 2007-2008, Gabriel Dos Reis. +--Copyright (C) 2007-2009, Gabriel Dos Reis. --All rights reserved. -- --Redistribution and use in source and binary forms, with or without diff --git a/src/algebra/strap/REF.lsp b/src/algebra/strap/REF.lsp deleted file mode 100644 index 46acc333..00000000 --- a/src/algebra/strap/REF.lsp +++ /dev/null @@ -1,111 +0,0 @@ - -(/VERSIONCHECK 2) - -(DECLAIM (FTYPE (FUNCTION (|%Pair| |%Pair| |%Shell|) |%Boolean|) - |REF;=;2$B;1|)) - -(PUT '|REF;=;2$B;1| '|SPADreplace| 'EQ) - -(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Pair|) |REF;ref;S$;2|)) - -(PUT '|REF;ref;S$;2| '|SPADreplace| 'LIST) - -(DECLAIM (FTYPE (FUNCTION (|%Pair| |%Shell|) |%Thing|) |REF;elt;$S;3|)) - -(PUT '|REF;elt;$S;3| '|SPADreplace| 'QCAR) - -(DECLAIM (FTYPE (FUNCTION (|%Pair| |%Thing| |%Shell|) |%Thing|) - |REF;setelt;$2S;4|)) - -(DECLAIM (FTYPE (FUNCTION (|%Pair| |%Shell|) |%Thing|) - |REF;deref;$S;5|)) - -(PUT '|REF;deref;$S;5| '|SPADreplace| 'QCAR) - -(DECLAIM (FTYPE (FUNCTION (|%Pair| |%Thing| |%Shell|) |%Thing|) - |REF;setref;$2S;6|)) - -(DECLAIM (FTYPE (FUNCTION (|%Pair| |%Shell|) |%Thing|) - |REF;coerce;$Of;7|)) - -(DEFUN |REF;=;2$B;1| (|p| |q| $) (DECLARE (IGNORE $)) (EQ |p| |q|)) - -(DEFUN |REF;ref;S$;2| (|v| $) (DECLARE (IGNORE $)) (LIST |v|)) - -(DEFUN |REF;elt;$S;3| (|p| $) (DECLARE (IGNORE $)) (QCAR |p|)) - -(DEFUN |REF;setelt;$2S;4| (|p| |v| $) - (PROGN (RPLACA |p| |v|) (QCAR |p|))) - -(DEFUN |REF;deref;$S;5| (|p| $) (DECLARE (IGNORE $)) (QCAR |p|)) - -(DEFUN |REF;setref;$2S;6| (|p| |v| $) - (PROGN (RPLACA |p| |v|) (QCAR |p|))) - -(DEFUN |REF;coerce;$Of;7| (|p| $) - (SPADCALL (SPADCALL '|ref| (|getShellEntry| $ 17)) - (LIST (SPADCALL (QCAR |p|) (|getShellEntry| $ 18))) - (|getShellEntry| $ 20))) - -(DEFUN |Reference| (#0=#:G1407) - (PROG () - (RETURN - (PROG (#1=#:G1408) - (RETURN - (COND - ((LETT #1# - (|lassocShiftWithFunction| (LIST (|devaluate| #0#)) - (HGET |$ConstructorCache| '|Reference|) - '|domainEqualList|) - |Reference|) - (|CDRwithIncrement| #1#)) - ('T - (UNWIND-PROTECT - (PROG1 (|Reference;| #0#) (LETT #1# T |Reference|)) - (COND - ((NOT #1#) (HREM |$ConstructorCache| '|Reference|))))))))))) - -(DEFUN |Reference;| (|#1|) - (PROG (|dv$1| |dv$| $ |pv$|) - (RETURN - (PROGN - (LETT |dv$1| (|devaluate| |#1|) . #0=(|Reference|)) - (LETT |dv$| (LIST '|Reference| |dv$1|) . #0#) - (LETT $ (|newShell| 24) . #0#) - (|setShellEntry| $ 0 |dv$|) - (|setShellEntry| $ 3 - (LETT |pv$| - (|buildPredVector| 0 0 - (LIST (|HasCategory| |#1| '(|SetCategory|)))) . #0#)) - (|haddProp| |$ConstructorCache| '|Reference| (LIST |dv$1|) - (CONS 1 $)) - (|stuffDomainSlots| $) - (|setShellEntry| $ 6 |#1|) - (|setShellEntry| $ 7 (|Record| (|:| |value| |#1|))) - (COND - ((|testBitVector| |pv$| 1) - (|setShellEntry| $ 21 - (CONS (|dispatchFunction| |REF;coerce;$Of;7|) $)))) - $)))) - -(MAKEPROP '|Reference| '|infovec| - (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rep| (|Boolean|) - |REF;=;2$B;1| |REF;ref;S$;2| |REF;elt;$S;3| - |REF;setelt;$2S;4| |REF;deref;$S;5| |REF;setref;$2S;6| - (|OutputForm|) (|Symbol|) (0 . |coerce|) (5 . |coerce|) - (|List| $) (10 . |prefix|) (16 . |coerce|) - (|SingleInteger|) (|String|)) - '#(~= 21 |setref| 27 |setelt| 33 |ref| 39 |latex| 44 |hash| - 49 |elt| 54 |deref| 59 |coerce| 64 = 69) - 'NIL - (CONS (|makeByteWordVec2| 1 '(1 0 1 1)) - (CONS '#(|SetCategory&| NIL |BasicType&| NIL) - (CONS '#((|SetCategory|) (|Type|) (|BasicType|) - (|CoercibleTo| 15)) - (|makeByteWordVec2| 23 - '(1 16 15 0 17 1 6 15 0 18 2 15 0 0 19 - 20 1 0 15 0 21 2 1 8 0 0 1 2 0 6 0 6 - 14 2 0 6 0 6 12 1 0 0 6 10 1 1 23 0 1 - 1 1 22 0 1 1 0 6 0 11 1 0 6 0 13 1 1 - 15 0 21 2 0 8 0 0 9))))) - '|lookupComplete|)) diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index fd4519fc..1217d63c 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1109,7 +1109,7 @@ compElt: (%Form,%Mode,%Env) -> %Maybe %Triple compElt(form,m,E) == form isnt ["elt",aDomain,anOp] => compForm(form,m,E) aDomain="Lisp" or (aDomain is ["Foreign",lang] and lang="Builtin") => - [anOp,m,E] + [anOp',m,E] where anOp'() == (anOp = $Zero => 0; anOp = $One => 1; anOp) lang ^= nil => opMode := getExternalSymbolMode(anOp,lang,E) op := get(anOp,"%Link",E) or anOp diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot index 25382ba9..f7cdc25f 100644 --- a/src/interp/sys-constants.boot +++ b/src/interp/sys-constants.boot @@ -568,6 +568,7 @@ $SystemInlinableConstructorNames == SingleInteger _ String _ Boolean _ + Identifier _ Symbol _ DoubleFloat _ PrimitiveArray _ |