aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/algebra/Makefile.in15
-rw-r--r--src/algebra/Makefile.pamphlet15
-rw-r--r--src/interp/c-util.boot3
-rw-r--r--src/interp/define.boot5
5 files changed, 25 insertions, 19 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ffaef75a..fe260b86 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-30 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/c-util.boot (getRepresentation): Tidy.
+ * interp/define.boot (checkRepresentation): Don't compile the base
+ domain here yet.
+
2010-06-29 Gabriel Dos Reis <gdr@cs.tamu.edu>
* algebra/indexedp.spad.pamphlet (IndexedDirectProductObject)
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 52db4771..ca09293a 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -384,7 +384,7 @@ axiom_algebra_layer_0_objects = \
$(addsuffix .$(FASLEXT),$(axiom_algebra_layer_0)))
$(OUT)/HOMOTOP.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT) $(OUT)/KRCFROM.$(FASLEXT)
-$(OUT)/ITUPLE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
+$(OUT)/ITUPLE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT) $(OUT)/STREAM.$(FASLEXT)
$(OUT)/PATAB.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
$(OUT)/PPCURVE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
$(OUT)/PSCURVE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
@@ -435,6 +435,7 @@ $(OUT)/PDMOD.$(FASLEXT): $(OUT)/RING.$(FASLEXT) $(OUT)/PDSPC.$(FASLEXT) \
$(OUT)/COMRING.$(FASLEXT) $(OUT)/MODULE.$(FASLEXT)
$(OUT)/DMEXT.$(FASLEXT): $(OUT)/DSEXT.$(FASLEXT) $(OUT)/DIFFMOD.$(FASLEXT) \
$(OUT)/PDMOD.$(FASLEXT)
+$(OUT)/STREAM.$(FASLEXT): $(OUT)/LZSTAGG.$(FASLEXT)
axiom_algebra_layer_1 = \
ABELGRP ABELGRP- ABELMON ABELMON- FORTCAT ITUPLE \
@@ -446,8 +447,8 @@ axiom_algebra_layer_1 = \
ORDRING ORDRING- FEVALAB FEVALAB- \
OSGROUP MAYBE DATAARY PROPLOG HOMOTOP BYTEORD \
FIELD FIELD- VECTCAT VECTCAT- IARRAY1 BOOLE \
- PROPERTY ARITY OPERCAT OPERCAT- PAIR \
- RADCAT RADCAT- PDMOD DMEXT
+ PROPERTY ARITY OPERCAT OPERCAT- PAIR STREAM \
+ RADCAT RADCAT- PDMOD DMEXT LZSTAGG LZSTAGG-
axiom_algebra_layer_1_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_1))
@@ -563,13 +564,12 @@ axiom_algebra_layer_7_objects = \
$(OUT)/BSTREE.$(FASLEXT): $(OUT)/BTREE.$(FASLEXT)
$(OUT)/ITAYLOR.$(FASLEXT): $(OUT)/STREAM.$(FASLEXT)
-$(OUT)/STREAM.$(FASLEXT): $(OUT)/LZSTAGG.$(FASLEXT)
axiom_algebra_layer_8 = \
BSTREE BTOURN CARD DRAWHACK FACTFUNC FMTC \
FR2 FRAC2 FRUTIL ITAYLOR MLO NAALG \
NAALG- OP ORDCOMP2 RANDSRC UNISEG2 XALG \
- BTREE STREAM LZSTAGG LZSTAGG- ARR2CAT ARR2CAT-
+ BTREE ARR2CAT ARR2CAT-
axiom_algebra_layer_8_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_8))
@@ -840,6 +840,7 @@ axiom_algebra_layer_18_objects = \
$(addsuffix .$(FASLEXT),$(axiom_algebra_layer_18)))
$(OUT)/TSETCAT.$(FASLEXT): $(OUT)/PSETCAT.$(FASLEXT) $(OUT)/RPOLCAT.$(FASLEXT)
$(OUT)/FPARFRAC.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT)
+$(OUT)/FEXPR.$(FASLEXT): $(OUT)/EXPR.$(FASLEXT)
axiom_algebra_layer_19 = \
ACPLOT ANTISYM ATTRBUT \
@@ -849,7 +850,7 @@ axiom_algebra_layer_19 = \
EP E04AGNT FCPAK1 FEXPR \
FFCAT FFCAT- FFCGP FFNBP \
FFP FLOAT FPARFRAC FR \
- FRNAALG FRNAALG- \
+ FRNAALG FRNAALG- EXPR \
FUNCTION GDMP HACKPI \
IDEAL INFORM INFORM1 IPRNTPK \
IR ISUPS LIB \
@@ -911,7 +912,7 @@ axiom_algebra_layer_20 = \
SFORT SOLVESER SUMFS SUTS \
TOOLSIGN TRIGMNIP TRMANIP ULSCCAT \
ULSCCAT- UPXSSING UTSODE UTSODETL \
- UTS2 WUTSET EXPR
+ UTS2 WUTSET
axiom_algebra_layer_20_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_20))
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index f57b7839..b51a660e 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -343,7 +343,7 @@ axiom_algebra_layer_0_objects = \
<<layer1>>=
$(OUT)/HOMOTOP.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT) $(OUT)/KRCFROM.$(FASLEXT)
-$(OUT)/ITUPLE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
+$(OUT)/ITUPLE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT) $(OUT)/STREAM.$(FASLEXT)
$(OUT)/PATAB.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
$(OUT)/PPCURVE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
$(OUT)/PSCURVE.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT)
@@ -394,6 +394,7 @@ $(OUT)/PDMOD.$(FASLEXT): $(OUT)/RING.$(FASLEXT) $(OUT)/PDSPC.$(FASLEXT) \
$(OUT)/COMRING.$(FASLEXT) $(OUT)/MODULE.$(FASLEXT)
$(OUT)/DMEXT.$(FASLEXT): $(OUT)/DSEXT.$(FASLEXT) $(OUT)/DIFFMOD.$(FASLEXT) \
$(OUT)/PDMOD.$(FASLEXT)
+$(OUT)/STREAM.$(FASLEXT): $(OUT)/LZSTAGG.$(FASLEXT)
axiom_algebra_layer_1 = \
ABELGRP ABELGRP- ABELMON ABELMON- FORTCAT ITUPLE \
@@ -405,8 +406,8 @@ axiom_algebra_layer_1 = \
ORDRING ORDRING- FEVALAB FEVALAB- \
OSGROUP MAYBE DATAARY PROPLOG HOMOTOP BYTEORD \
FIELD FIELD- VECTCAT VECTCAT- IARRAY1 BOOLE \
- PROPERTY ARITY OPERCAT OPERCAT- PAIR \
- RADCAT RADCAT- PDMOD DMEXT
+ PROPERTY ARITY OPERCAT OPERCAT- PAIR STREAM \
+ RADCAT RADCAT- PDMOD DMEXT LZSTAGG LZSTAGG-
axiom_algebra_layer_1_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_1))
@@ -560,13 +561,12 @@ axiom_algebra_layer_7_objects = \
$(OUT)/BSTREE.$(FASLEXT): $(OUT)/BTREE.$(FASLEXT)
$(OUT)/ITAYLOR.$(FASLEXT): $(OUT)/STREAM.$(FASLEXT)
-$(OUT)/STREAM.$(FASLEXT): $(OUT)/LZSTAGG.$(FASLEXT)
axiom_algebra_layer_8 = \
BSTREE BTOURN CARD DRAWHACK FACTFUNC FMTC \
FR2 FRAC2 FRUTIL ITAYLOR MLO NAALG \
NAALG- OP ORDCOMP2 RANDSRC UNISEG2 XALG \
- BTREE STREAM LZSTAGG LZSTAGG- ARR2CAT ARR2CAT-
+ BTREE ARR2CAT ARR2CAT-
axiom_algebra_layer_8_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_8))
@@ -892,6 +892,7 @@ axiom_algebra_layer_18_objects = \
<<layer19>>=
$(OUT)/TSETCAT.$(FASLEXT): $(OUT)/PSETCAT.$(FASLEXT) $(OUT)/RPOLCAT.$(FASLEXT)
$(OUT)/FPARFRAC.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT)
+$(OUT)/FEXPR.$(FASLEXT): $(OUT)/EXPR.$(FASLEXT)
axiom_algebra_layer_19 = \
ACPLOT ANTISYM ATTRBUT \
@@ -901,7 +902,7 @@ axiom_algebra_layer_19 = \
EP E04AGNT FCPAK1 FEXPR \
FFCAT FFCAT- FFCGP FFNBP \
FFP FLOAT FPARFRAC FR \
- FRNAALG FRNAALG- \
+ FRNAALG FRNAALG- EXPR \
FUNCTION GDMP HACKPI \
IDEAL INFORM INFORM1 IPRNTPK \
IR ISUPS LIB \
@@ -968,7 +969,7 @@ axiom_algebra_layer_20 = \
SFORT SOLVESER SUMFS SUTS \
TOOLSIGN TRIGMNIP TRMANIP ULSCCAT \
ULSCCAT- UPXSSING UTSODE UTSODETL \
- UTS2 WUTSET EXPR
+ UTS2 WUTSET
axiom_algebra_layer_20_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_20))
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index e79aba6b..1403eaf8 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -132,7 +132,8 @@ substituteDollarIfRepHack m ==
++ current functor, if any.
getRepresentation: %Env -> %Maybe %Mode
getRepresentation e ==
- (get("Rep","value",e) or return nil).expr
+ u := get('Rep,'value,e) => u.expr
+ get('Rep,'macro,e)
++ Returns true if the form `t' is an instance of the Tuple constructor.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index d40033e0..ad52ec88 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -257,11 +257,8 @@ checkRepresentation(addForm,body,env) ==
$subdomain := true
dom
addForm
- base := compForMode(domainRep,$EmptyMode,env) or
- stackAndThrow('"1b is not a domain",[domainRep])
$useRepresentationHack := false
- env := put("Rep","value",removeEnv base,env)
- -- ??? Maybe we should also make Rep available as macro?
+ env := put('Rep,'macro,domainRep,env)
env