aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.in13
-rw-r--r--src/algebra/Makefile.pamphlet13
-rw-r--r--src/algebra/strap/PRIMARR.lsp235
-rw-r--r--src/algebra/syntax.spad.pamphlet7
4 files changed, 20 insertions, 248 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index c8f691fc..ab0c6056 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -196,7 +196,7 @@ axiom_algebra_bootstrap = \
LNAGG- LSAGG LSAGG- MONOID \
MONOID- MTSCAT NNI OINTDOM \
ORDRING ORDRING- OUTFORM PI \
- PRIMARR POLYCAT POLYCAT- \
+ POLYCAT POLYCAT- \
QFCAT QFCAT- RCAGG \
RCAGG- RING RING- \
RNG RNS RNS- SETAGG \
@@ -214,7 +214,7 @@ axiom_algebra_bootstrap_last_layer = \
INS INS- INT \
MTSCAT NNI \
OUTFORM PI \
- PRIMARR POLYCAT POLYCAT- \
+ POLYCAT POLYCAT- \
QFCAT QFCAT- \
RNS RNS- \
SINT \
@@ -391,6 +391,9 @@ $(OUT)/CACHSET.$(FASLEXT): $(OUT)/ORDSET.$(FASLEXT)
$(OUT)/ALIST.$(FASLEXT): $(OUT)/ALAGG.$(FASLEXT)
$(OUT)/PATAB.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT)
$(OUT)/BOOLEAN.$(FASLEXT): $(OUT)/PROPLOG.$(FASLEXT)
+$(OUT)/ES.$(FASLEXT): $(OUT)/PRIMARR.$(FASLEXT)
+$(OUT)/VECTCAT.$(FASLEXT): $(OUT)/RADCAT.$(FASLEXT)
+
axiom_algebra_layer_1 = \
ABELGRP ABELGRP- ABELMON ABELMON- FORTCAT ITUPLE \
@@ -398,10 +401,10 @@ axiom_algebra_layer_1 = \
DIFRING DIFRING- ENTIRER INTDOM INTDOM- OINTDOM \
GCDDOM GCDDOM- UFD UFD- ES ES- \
PATAB PPCURVE PSCURVE CACHSET RESLATC REF \
- IDENT SEGCAT BINDING ALIST BOOLEAN \
+ IDENT SEGCAT BINDING ALIST BOOLEAN PRIMARR \
ORDRING ORDRING- FEVALAB FEVALAB- \
OSGROUP MAYBE DATAARY PROPLOG HOMOTOP BYTEORD \
- FIELD FIELD-
+ FIELD FIELD- VECTCAT VECTCAT-
axiom_algebra_layer_1_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_1))
@@ -571,7 +574,7 @@ axiom_algebra_layer_11 = \
PR PREASSOC PRIMARR2 REDORDER \
STREAM SYMPOLY \
TS TUPLE UPSCAT UPSCAT- \
- VECTCAT VECTCAT- XDPOLY XEXPPKG \
+ XDPOLY XEXPPKG \
XF XF- XPBWPOLY XPOLY \
XRPOLY
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 489406b4..61d0c004 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -145,7 +145,7 @@ axiom_algebra_bootstrap = \
LNAGG- LSAGG LSAGG- MONOID \
MONOID- MTSCAT NNI OINTDOM \
ORDRING ORDRING- OUTFORM PI \
- PRIMARR POLYCAT POLYCAT- \
+ POLYCAT POLYCAT- \
QFCAT QFCAT- RCAGG \
RCAGG- RING RING- \
RNG RNS RNS- SETAGG \
@@ -163,7 +163,7 @@ axiom_algebra_bootstrap_last_layer = \
INS INS- INT \
MTSCAT NNI \
OUTFORM PI \
- PRIMARR POLYCAT POLYCAT- \
+ POLYCAT POLYCAT- \
QFCAT QFCAT- \
RNS RNS- \
SINT \
@@ -350,6 +350,9 @@ $(OUT)/CACHSET.$(FASLEXT): $(OUT)/ORDSET.$(FASLEXT)
$(OUT)/ALIST.$(FASLEXT): $(OUT)/ALAGG.$(FASLEXT)
$(OUT)/PATAB.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT)
$(OUT)/BOOLEAN.$(FASLEXT): $(OUT)/PROPLOG.$(FASLEXT)
+$(OUT)/ES.$(FASLEXT): $(OUT)/PRIMARR.$(FASLEXT)
+$(OUT)/VECTCAT.$(FASLEXT): $(OUT)/RADCAT.$(FASLEXT)
+
axiom_algebra_layer_1 = \
ABELGRP ABELGRP- ABELMON ABELMON- FORTCAT ITUPLE \
@@ -357,10 +360,10 @@ axiom_algebra_layer_1 = \
DIFRING DIFRING- ENTIRER INTDOM INTDOM- OINTDOM \
GCDDOM GCDDOM- UFD UFD- ES ES- \
PATAB PPCURVE PSCURVE CACHSET RESLATC REF \
- IDENT SEGCAT BINDING ALIST BOOLEAN \
+ IDENT SEGCAT BINDING ALIST BOOLEAN PRIMARR \
ORDRING ORDRING- FEVALAB FEVALAB- \
OSGROUP MAYBE DATAARY PROPLOG HOMOTOP BYTEORD \
- FIELD FIELD-
+ FIELD FIELD- VECTCAT VECTCAT-
axiom_algebra_layer_1_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_1))
@@ -583,7 +586,7 @@ axiom_algebra_layer_11 = \
PR PREASSOC PRIMARR2 REDORDER \
STREAM SYMPOLY \
TS TUPLE UPSCAT UPSCAT- \
- VECTCAT VECTCAT- XDPOLY XEXPPKG \
+ XDPOLY XEXPPKG \
XF XF- XPBWPOLY XPOLY \
XRPOLY
diff --git a/src/algebra/strap/PRIMARR.lsp b/src/algebra/strap/PRIMARR.lsp
deleted file mode 100644
index 6c5d17a6..00000000
--- a/src/algebra/strap/PRIMARR.lsp
+++ /dev/null
@@ -1,235 +0,0 @@
-
-(/VERSIONCHECK 2)
-
-(DECLAIM (FTYPE (FUNCTION ((|%SimpleArray| *) |%Shell|)
- (|%IntegerSection| 0))
- |PRIMARR;#;$Nni;1|))
-
-(PUT '|PRIMARR;#;$Nni;1| '|SPADreplace| '|sizeOfSimpleArray|)
-
-(DECLAIM (FTYPE (FUNCTION ((|%SimpleArray| *) |%Shell|) |%Integer|)
- |PRIMARR;minIndex;$I;2|))
-
-(PUT '|PRIMARR;minIndex;$I;2| '|SPADreplace| '(XLAM (|x|) 0))
-
-(DECLAIM (FTYPE (FUNCTION (|%Shell|) (|%SimpleArray| *))
- |PRIMARR;empty;$;3|))
-
-(DECLAIM (FTYPE (FUNCTION ((|%IntegerSection| 0) |%Thing| |%Shell|)
- (|%SimpleArray| *))
- |PRIMARR;new;NniS$;4|))
-
-(DECLAIM (FTYPE (FUNCTION ((|%SimpleArray| *) |%Integer| |%Shell|)
- |%Thing|)
- |PRIMARR;qelt;$IS;5|))
-
-(PUT '|PRIMARR;qelt;$IS;5| '|SPADreplace| '|getSimpleArrayEntry|)
-
-(DECLAIM (FTYPE (FUNCTION ((|%SimpleArray| *) |%Integer| |%Shell|)
- |%Thing|)
- |PRIMARR;elt;$IS;6|))
-
-(PUT '|PRIMARR;elt;$IS;6| '|SPADreplace| '|getSimpleArrayEntry|)
-
-(DECLAIM (FTYPE (FUNCTION
- ((|%SimpleArray| *) |%Integer| |%Thing| |%Shell|)
- |%Thing|)
- |PRIMARR;qsetelt!;$I2S;7|))
-
-(PUT '|PRIMARR;qsetelt!;$I2S;7| '|SPADreplace| '|setSimpleArrayEntry|)
-
-(DECLAIM (FTYPE (FUNCTION
- ((|%SimpleArray| *) |%Integer| |%Thing| |%Shell|)
- |%Thing|)
- |PRIMARR;setelt;$I2S;8|))
-
-(PUT '|PRIMARR;setelt;$I2S;8| '|SPADreplace| '|setSimpleArrayEntry|)
-
-(DECLAIM (FTYPE (FUNCTION ((|%SimpleArray| *) |%Thing| |%Shell|)
- (|%SimpleArray| *))
- |PRIMARR;fill!;$S$;9|))
-
-(DEFUN |PRIMARR;#;$Nni;1| (|x| $)
- (DECLARE (IGNORE $))
- (|sizeOfSimpleArray| |x|))
-
-(DEFUN |PRIMARR;minIndex;$I;2| (|x| $) (DECLARE (IGNORE $)) 0)
-
-(DEFUN |PRIMARR;empty;$;3| ($)
- (|makeSimpleArray| (|getVMType| (|getShellEntry| $ 6)) 0))
-
-(DEFUN |PRIMARR;new;NniS$;4| (|n| |x| $)
- (|makeFilledSimpleArray| (|getVMType| (|getShellEntry| $ 6)) |n| |x|))
-
-(DEFUN |PRIMARR;qelt;$IS;5| (|x| |i| $)
- (DECLARE (IGNORE $))
- (|getSimpleArrayEntry| |x| |i|))
-
-(DEFUN |PRIMARR;elt;$IS;6| (|x| |i| $)
- (DECLARE (IGNORE $))
- (|getSimpleArrayEntry| |x| |i|))
-
-(DEFUN |PRIMARR;qsetelt!;$I2S;7| (|x| |i| |s| $)
- (DECLARE (IGNORE $))
- (|setSimpleArrayEntry| |x| |i| |s|))
-
-(DEFUN |PRIMARR;setelt;$I2S;8| (|x| |i| |s| $)
- (DECLARE (IGNORE $))
- (|setSimpleArrayEntry| |x| |i| |s|))
-
-(DEFUN |PRIMARR;fill!;$S$;9| (|x| |s| $)
- (PROG (|i| #0=#:G1416)
- (RETURN
- (SEQ (SEQ (LETT |i| 0 |PRIMARR;fill!;$S$;9|)
- (LETT #0# (|maxIndexOfSimpleArray| |x|)
- |PRIMARR;fill!;$S$;9|)
- G190 (COND ((QSGREATERP |i| #0#) (GO G191)))
- (SEQ (EXIT (|setSimpleArrayEntry| |x| |i| |s|)))
- (LETT |i| (QSADD1 |i|) |PRIMARR;fill!;$S$;9|) (GO G190)
- G191 (EXIT NIL))
- (EXIT |x|)))))
-
-(DEFUN |PrimitiveArray| (#0=#:G1417)
- (PROG ()
- (RETURN
- (PROG (#1=#:G1418)
- (RETURN
- (COND
- ((LETT #1#
- (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
- (HGET |$ConstructorCache| '|PrimitiveArray|)
- '|domainEqualList|)
- |PrimitiveArray|)
- (|CDRwithIncrement| #1#))
- ('T
- (UNWIND-PROTECT
- (PROG1 (|PrimitiveArray;| #0#)
- (LETT #1# T |PrimitiveArray|))
- (COND
- ((NOT #1#)
- (HREM |$ConstructorCache| '|PrimitiveArray|)))))))))))
-
-(DEFUN |PrimitiveArray;| (|#1|)
- (PROG (|dv$1| |dv$| $ |pv$|)
- (RETURN
- (PROGN
- (LETT |dv$1| (|devaluate| |#1|) . #0=(|PrimitiveArray|))
- (LETT |dv$| (LIST '|PrimitiveArray| |dv$1|) . #0#)
- (LETT $ (|newShell| 38) . #0#)
- (|setShellEntry| $ 0 |dv$|)
- (|setShellEntry| $ 3
- (LETT |pv$|
- (|buildPredVector| 0 0
- (LIST (OR (AND (|HasCategory| |#1|
- '(|OrderedSet|))
- (|HasCategory| |#1|
- (LIST '|Evalable|
- (|devaluate| |#1|))))
- (AND (|HasCategory| |#1|
- '(|SetCategory|))
- (|HasCategory| |#1|
- (LIST '|Evalable|
- (|devaluate| |#1|)))))
- (OR (AND (|HasCategory| |#1|
- '(|SetCategory|))
- (|HasCategory| |#1|
- (LIST '|Evalable|
- (|devaluate| |#1|))))
- (|HasCategory| |#1|
- '(|CoercibleTo| (|OutputForm|))))
- (|HasCategory| |#1|
- '(|ConvertibleTo| (|InputForm|)))
- (OR (|HasCategory| |#1| '(|OrderedSet|))
- (|HasCategory| |#1| '(|SetCategory|)))
- (|HasCategory| |#1| '(|OrderedSet|))
- (|HasCategory| (|Integer|) '(|OrderedSet|))
- (|HasCategory| |#1| '(|SetCategory|))
- (|HasCategory| |#1|
- '(|CoercibleTo| (|OutputForm|)))
- (AND (|HasCategory| |#1| '(|SetCategory|))
- (|HasCategory| |#1|
- (LIST '|Evalable|
- (|devaluate| |#1|)))))) . #0#))
- (|haddProp| |$ConstructorCache| '|PrimitiveArray| (LIST |dv$1|)
- (CONS 1 $))
- (|stuffDomainSlots| $)
- (|setShellEntry| $ 6 |#1|)
- $))))
-
-(MAKEPROP '|PrimitiveArray| '|infovec|
- (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|)
- (|NonNegativeInteger|) |PRIMARR;#;$Nni;1| (|Integer|)
- (0 . |Zero|) |PRIMARR;minIndex;$I;2| |PRIMARR;empty;$;3|
- |PRIMARR;new;NniS$;4| |PRIMARR;qelt;$IS;5|
- |PRIMARR;elt;$IS;6| |PRIMARR;qsetelt!;$I2S;7|
- |PRIMARR;setelt;$I2S;8| (|SingleInteger|) (4 . |Zero|)
- (8 . |Zero|) |PRIMARR;fill!;$S$;9| (|Mapping| 6 6 6)
- (|Boolean|) (|List| 6) (|Equation| 6) (|List| 25)
- (|Mapping| 23 6) (|Mapping| 23 6 6) (|UniversalSegment| 9)
- (|Void|) (|Mapping| 6 6) (|OutputForm|) (|InputForm|)
- (|String|) (|List| $) (|Union| 6 '"failed") (|List| 9))
- '#(~= 12 |swap!| 18 |sorted?| 25 |sort!| 36 |sort| 47 |size?|
- 58 |setelt| 64 |select| 78 |sample| 84 |reverse!| 88
- |reverse| 93 |removeDuplicates| 98 |remove| 103 |reduce|
- 115 |qsetelt!| 136 |qelt| 143 |position| 149 |parts| 168
- |new| 173 |more?| 179 |minIndex| 185 |min| 190 |merge| 196
- |members| 209 |member?| 214 |maxIndex| 220 |max| 225
- |map!| 231 |map| 237 |less?| 250 |latex| 256 |insert| 261
- |indices| 275 |index?| 280 |hash| 286 |first| 291 |find|
- 296 |fill!| 302 |every?| 308 |eval| 314 |eq?| 340 |entry?|
- 346 |entries| 352 |empty?| 357 |empty| 362 |elt| 366
- |delete| 385 |count| 397 |copyInto!| 409 |copy| 416
- |convert| 421 |construct| 426 |concat| 431 |coerce| 454
- |any?| 459 >= 465 > 471 = 477 <= 483 < 489 |#| 495)
- '((|shallowlyMutable| . 0) (|finiteAggregate| . 0))
- (CONS (|makeByteWordVec2| 5
- '(0 0 0 0 0 0 5 0 0 1 4 0 0 1 2 3 4))
- (CONS '#(|OneDimensionalArrayAggregate&|
- |FiniteLinearAggregate&| |LinearAggregate&|
- |IndexedAggregate&| |Collection&|
- |HomogeneousAggregate&| |OrderedSet&|
- |Aggregate&| |EltableAggregate&| |Evalable&|
- |SetCategory&| NIL NIL |InnerEvalable&| NIL
- NIL |BasicType&|)
- (CONS '#((|OneDimensionalArrayAggregate| 6)
- (|FiniteLinearAggregate| 6)
- (|LinearAggregate| 6)
- (|IndexedAggregate| 9 6)
- (|Collection| 6)
- (|HomogeneousAggregate| 6)
- (|OrderedSet|) (|Aggregate|)
- (|EltableAggregate| 9 6) (|Evalable| 6)
- (|SetCategory|) (|Type|) (|Eltable| 9 6)
- (|InnerEvalable| 6 6) (|CoercibleTo| 32)
- (|ConvertibleTo| 33) (|BasicType|))
- (|makeByteWordVec2| 37
- '(0 9 0 10 0 18 0 19 0 7 0 20 2 7 23 0
- 0 1 3 0 30 0 9 9 1 1 5 23 0 1 2 0 23
- 28 0 1 1 5 0 0 1 2 0 0 28 0 1 1 5 0 0
- 1 2 0 0 28 0 1 2 0 23 0 7 1 3 0 6 0
- 29 6 1 3 0 6 0 9 6 17 2 0 0 27 0 1 0
- 0 0 1 1 0 0 0 1 1 0 0 0 1 1 7 0 0 1 2
- 7 0 6 0 1 2 0 0 27 0 1 4 7 6 22 0 6 6
- 1 3 0 6 22 0 6 1 2 0 6 22 0 1 3 0 6 0
- 9 6 16 2 0 6 0 9 14 2 7 9 6 0 1 3 7 9
- 6 0 9 1 2 0 9 27 0 1 1 0 24 0 1 2 0 0
- 7 6 13 2 0 23 0 7 1 1 6 9 0 11 2 5 0
- 0 0 1 2 5 0 0 0 1 3 0 0 28 0 0 1 1 0
- 24 0 1 2 7 23 6 0 1 1 6 9 0 1 2 5 0 0
- 0 1 2 0 0 31 0 1 3 0 0 22 0 0 1 2 0 0
- 31 0 1 2 0 23 0 7 1 1 7 34 0 1 3 0 0
- 0 0 9 1 3 0 0 6 0 9 1 1 0 37 0 1 2 0
- 23 9 0 1 1 7 18 0 1 1 6 6 0 1 2 0 36
- 27 0 1 2 0 0 0 6 21 2 0 23 27 0 1 3 9
- 0 0 24 24 1 2 9 0 0 25 1 3 9 0 0 6 6
- 1 2 9 0 0 26 1 2 0 23 0 0 1 2 7 23 6
- 0 1 1 0 24 0 1 1 0 23 0 1 0 0 0 12 2
- 0 0 0 29 1 2 0 6 0 9 15 3 0 6 0 9 6 1
- 2 0 0 0 9 1 2 0 0 0 29 1 2 7 7 6 0 1
- 2 0 7 27 0 1 3 0 0 0 0 9 1 1 0 0 0 1
- 1 3 33 0 1 1 0 0 24 1 1 0 0 35 1 2 0
- 0 6 0 1 2 0 0 0 0 1 2 0 0 0 6 1 1 8
- 32 0 1 2 0 23 27 0 1 2 5 23 0 0 1 2 5
- 23 0 0 1 2 7 23 0 0 1 2 5 23 0 0 1 2
- 5 23 0 0 1 1 0 7 0 8)))))
- '|lookupComplete|))
diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet
index acbf8892..20396e7e 100644
--- a/src/algebra/syntax.spad.pamphlet
+++ b/src/algebra/syntax.spad.pamphlet
@@ -563,10 +563,11 @@ Literal(T: SetCategory): Public == Private where
)abbrev domain IDENT Identifier
Identifier(): Public == Private where
Public == Join(SetCategory, CoercibleTo Symbol) with
- new: () -> % ++ returns a new identifier, different from
- ++ any other identifier in the running system
+ gensym: () -> %
+ ++ \spad{gensym()} returns a new identifier, different from
+ ++ any other identifier in the running system
Private == add
- new() == GENSYM()$Foreign(Builtin)
+ gensym() == GENSYM()$Foreign(Builtin)
x = y == EQ(x,y)$Lisp
coerce(x: %): Symbol == x : Symbol
coerce(x: %): OutputForm == x : OutputForm