aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-04-23 03:09:23 +0000
committerdos-reis <gdr@axiomatics.org>2009-04-23 03:09:23 +0000
commit1db4bd76938d5901b39cb516327a054c1aa0fdec (patch)
tree9b414df91b23f58365bd46d1839c8b67c93ef9ba /src
parent4167349c0697014915c1997647c58bbc99ddf832 (diff)
downloadopen-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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog10
-rw-r--r--src/algebra/Makefile.in8
-rw-r--r--src/algebra/Makefile.pamphlet8
-rw-r--r--src/algebra/boolean.spad.pamphlet4
-rw-r--r--src/algebra/strap/REF.lsp111
-rw-r--r--src/interp/compiler.boot2
-rw-r--r--src/interp/sys-constants.boot1
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 _