aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-01-19 22:05:42 +0000
committerdos-reis <gdr@axiomatics.org>2008-01-19 22:05:42 +0000
commit2546c17a213f87b5a3cd66b58faf84ac6b6186b0 (patch)
tree28545f35afaf5f1404134dc75415af54c907f2a9 /src/algebra
parent83b50e1c4c79fe3ac9fbc52150192942266338b6 (diff)
downloadopen-axiom-2546c17a213f87b5a3cd66b58faf84ac6b6186b0.tar.gz
* algebra/Makefile.pamphlet (axiom_algebra_layer_0): Now include
SYNTAX.o * algebra/syntax.spad (buildSyntax$Syntax): Use CONS$Lisp to permit early bootstrap.
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.in5
-rw-r--r--src/algebra/Makefile.pamphlet5
-rw-r--r--src/algebra/syntax.spad8
3 files changed, 12 insertions, 6 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 20407425..0877c436 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -377,7 +377,8 @@ axiom_algebra_layer_0 = \
KOERCE.o KONVERT.o MSYSCMD.o ODEIFTBL.o \
OM.o OMCONN.o OMDEV.o OUT.o \
PRIMCAT.o PRINT.o PTRANFN.o SPFCAT.o \
- TYPE.o UTYPE.o PROPLOG.o OBJPROP.o
+ TYPE.o UTYPE.o PROPLOG.o OBJPROP.o \
+ SYNTAX.o
axiom_algebra_layer_0_nrlibs = \
$(axiom_algebra_layer_0:.$(OBJEXT)=.NRLIB/code.$(OBJEXT))
@@ -648,7 +649,7 @@ axiom_algebra_layer_14 = \
TWOFACT.o UNIFACT.o UP.o UPCDEN.o \
UPDECOMP.o UPDIVP.o UPMP.o UPOLYC2.o \
UPXSCAT.o UPSQFREE.o VIEWDEF.o VIEW2D.o \
- VOID.o WEIER.o WP.o SYNTAX.o
+ VOID.o WEIER.o WP.o
axiom_algebra_layer_14_nrlibs = \
$(axiom_algebra_layer_14:.$(OBJEXT)=.NRLIB/code.$(OBJEXT))
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index e90579ad..0beef0b8 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -205,7 +205,8 @@ axiom_algebra_layer_0 = \
KOERCE.o KONVERT.o MSYSCMD.o ODEIFTBL.o \
OM.o OMCONN.o OMDEV.o OUT.o \
PRIMCAT.o PRINT.o PTRANFN.o SPFCAT.o \
- TYPE.o UTYPE.o PROPLOG.o OBJPROP.o
+ TYPE.o UTYPE.o PROPLOG.o OBJPROP.o \
+ SYNTAX.o
axiom_algebra_layer_0_nrlibs = \
$(axiom_algebra_layer_0:.$(OBJEXT)=.NRLIB/code.$(OBJEXT))
@@ -776,7 +777,7 @@ axiom_algebra_layer_14 = \
TWOFACT.o UNIFACT.o UP.o UPCDEN.o \
UPDECOMP.o UPDIVP.o UPMP.o UPOLYC2.o \
UPXSCAT.o UPSQFREE.o VIEWDEF.o VIEW2D.o \
- VOID.o WEIER.o WP.o SYNTAX.o
+ VOID.o WEIER.o WP.o
axiom_algebra_layer_14_nrlibs = \
$(axiom_algebra_layer_14:.$(OBJEXT)=.NRLIB/code.$(OBJEXT))
diff --git a/src/algebra/syntax.spad b/src/algebra/syntax.spad
index 5058dcb6..f6d0719e 100644
--- a/src/algebra/syntax.spad
+++ b/src/algebra/syntax.spad
@@ -195,10 +195,14 @@ Syntax(): Public == Private where
-- ??? ideally we should have overloaded operator `per' that convert
-- from list of syntax to syntax. But the compiler is at the
-- moment defective for non-exported overloaded operations.
- cons(s::%, l) pretend %
+ -- Furthermore, this direct call to `CONS' is currently necessary
+ -- in order to have the Syntax domain compiled as early as possible
+ -- in algebra boostrapping process. It should be removed once
+ -- the bootstrap process is improved.
+ CONS(s,l)$Lisp @ %
buildSyntax(op: %, l: List %): % ==
- cons(op, l) pretend %
+ CONS(op,l)$Lisp @ %
nil? x ==
null? rep x