aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
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