[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20080908.01.tpd.patch (bookvol10 latex cleanup)
From: |
daly |
Subject: |
[Axiom-developer] 20080908.01.tpd.patch (bookvol10 latex cleanup) |
Date: |
Tue, 9 Sep 2008 11:20:30 -0500 |
Clean up the overlong lines in bookvol10.
========================================================================
diff --git a/books/bookvol10.pamphlet b/books/bookvol10.pamphlet
index 9a74854..86f0b99 100644
--- a/books/bookvol10.pamphlet
+++ b/books/bookvol10.pamphlet
@@ -2166,13 +2166,13 @@ Note that this code is not included in the generated
catdef.spad file.
++ Keywords:
++ References:
++ Description:
-++ One-dimensional-array aggregates serves as models for one-dimensional
arrays.
-++ Categorically, these aggregates are finite linear aggregates
+++ One-dimensional-array aggregates serves as models for one-dimensional
+++ arrays. Categorically, these aggregates are finite linear aggregates
++ with the \spadatt{shallowlyMutable} property, that is, any component of
++ the array may be changed without affecting the
++ identity of the overall array.
-++ Array data structures are typically represented by a fixed area in storage
and
-++ therefore cannot efficiently grow or shrink on demand as can list structures
+++ Array data structures are typically represented by a fixed area in storage
+++ and cannot efficiently grow or shrink on demand as can list structures
++ (see however \spadtype{FlexibleArray} for a data structure which
++ is a cross between a list and an array).
++ Iteration over, and access to, elements of arrays is extremely fast
@@ -2436,9 +2436,9 @@ OneDimensionalArrayAggregate(S:Type): Category ==
++ Keywords:
++ References:
++ Description:
-++ A bag aggregate is an aggregate for which one can insert and extract
objects,
-++ and where the order in which objects are inserted determines the order
-++ of extraction.
+++ A bag aggregate is an aggregate for which one can insert and extract
+++ objects, and where the order in which objects are inserted determines
+++ the order of extraction.
++ Examples of bags are stacks, queues, and dequeues.
BagAggregate(S:Type): Category == HomogeneousAggregate S with
shallowlyMutable
@@ -2727,7 +2727,8 @@ Collection(S:Type): Category == HomogeneousAggregate(S)
with
++ elements \axiom{y = x} removed.
++ Note: \axiom{remove(y,c) == [x for x in c | x ^= y]}.
removeDuplicates: % -> %
- ++ removeDuplicates(u) returns a copy of u with all duplicates
removed.
+ ++ removeDuplicates(u) returns a copy of u with all duplicates
+ ++ removed.
if S has ConvertibleTo InputForm then ConvertibleTo InputForm
add
if % has finiteAggregate then
@@ -2778,9 +2779,65 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |Collection;AL| (QUOTE NIL))
-(DEFUN |Collection| (#1=#:G82618) (LET (#2=#:G82619) (COND ((SETQ #2# (|assoc|
(|devaluate| #1#) |Collection;AL|)) (CDR #2#)) (T (SETQ |Collection;AL|
(|cons5| (CONS (|devaluate| #1#) (SETQ #2# (|Collection;| #1#)))
|Collection;AL|)) #2#))))
-
-(DEFUN |Collection;| (|t#1|) (PROG (#1=#:G82617) (RETURN (PROG1 (LETT #1#
(|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND
(|Collection;CAT|) ((QUOTE T) (LETT |Collection;CAT| (|Join|
(|HomogeneousAggregate| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|) (QUOTE
(((|construct| (|$| (|List| |t#1|))) T) ((|find| ((|Union| |t#1| "failed")
(|Mapping| (|Boolean|) |t#1|) |$|)) T) ((|reduce| (|t#1| (|Mapping| |t#1| |t#1|
|t#1|) |$|)) (|has| |$| (ATTRIBUTE |finiteAggregate|))) ((|reduce| (|t#1|
(|Mapping| |t#1| |t#1| |t#1|) |$| |t#1|)) (|has| |$| (ATTRIBUTE
|finiteAggregate|))) ((|remove| (|$| (|Mapping| (|Boolean|) |t#1|) |$|)) (|has|
|$| (ATTRIBUTE |finiteAggregate|))) ((|select| (|$| (|Mapping| (|Boolean|)
|t#1|) |$|)) (|has| |$| (ATTRIBUTE |finiteAggregate|))) ((|reduce| (|t#1|
(|Mapping| |t#1| |t#1| |t#1|) |$| |t#1| |t#1|)) (AND (|has| |t#1|
(|SetCategory|)) (|has| |$| (ATTRIBUTE |finiteAggregate|)))) ((|remove| (|$|
|t#1| |$|)) (AND (|has| |t#1| (|SetCategory|!
)) (|has| |$| (ATTRIBUTE |finiteAggregate|)))) ((|removeDuplicates| (|$| |$|))
(AND (|has| |t#1| (|SetCategory|)) (|has| |$| (ATTRIBUTE
|finiteAggregate|)))))) (QUOTE (((|ConvertibleTo| (|InputForm|)) (|has| |t#1|
(|ConvertibleTo| (|InputForm|)))))) (QUOTE ((|List| |t#1|))) NIL)) .
#2=(|Collection|))))) . #2#) (SETELT #1# 0 (LIST (QUOTE |Collection|)
(|devaluate| |t#1|)))))))
+(DEFUN |Collection| (#1=#:G82618)
+ (LET (#2=#:G82619)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |Collection;AL|)) (CDR #2#))
+ (T
+ (SETQ |Collection;AL|
+ (|cons5|
+ (CONS
+ (|devaluate| #1#)
+ (SETQ #2# (|Collection;| #1#)))
+ |Collection;AL|))
+ #2#))))
+
+(DEFUN |Collection;| (|t#1|)
+ (PROG (#1=#:G82617)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|Collection;CAT|)
+ ((QUOTE T)
+ (LETT |Collection;CAT|
+ (|Join|
+ (|HomogeneousAggregate| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|construct| (|$| (|List| |t#1|))) T)
+ ((|find| ((|Union| |t#1| "failed")
+ (|Mapping| (|Boolean|) |t#1|) |$|))
+ T)
+ ((|reduce| (|t#1| (|Mapping| |t#1| |t#1| |t#1|) |$|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|)))
+ ((|reduce| (|t#1| (|Mapping| |t#1| |t#1| |t#1|) |$| |t#1|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|)))
+ ((|remove| (|$| (|Mapping| (|Boolean|) |t#1|) |$|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|)))
+ ((|select| (|$| (|Mapping| (|Boolean|) |t#1|) |$|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|)))
+ ((|reduce| (|t#1| (|Mapping| |t#1| |t#1| |t#1|) |$| |t#1| |t#1|))
+ (AND
+ (|has| |t#1| (|SetCategory|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|))))
+ ((|remove| (|$| |t#1| |$|))
+ (AND
+ (|has| |t#1| (|SetCategory|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|))))
+ ((|removeDuplicates| (|$| |$|))
+ (AND
+ (|has| |t#1| (|SetCategory|))
+ (|has| |$| (ATTRIBUTE |finiteAggregate|))))))
+ (QUOTE (((|ConvertibleTo| (|InputForm|))
+ (|has| |t#1| (|ConvertibleTo| (|InputForm|))))))
+ (QUOTE ((|List| |t#1|))) NIL))
+ . #2=(|Collection|)))))
+ . #2#)
+ (SETELT #1# 0 (LIST (QUOTE |Collection|) (|devaluate| |t#1|)))))))
@
\section{CLAGG-.lsp BOOTSTRAP}
{\bf CLAGG-} depends on {\bf CLAGG}. We need to break this cycle to build
@@ -2797,33 +2854,206 @@ Note that this code is not included in the generated
catdef.spad file.
(DEFUN |CLAGG-;#;ANni;1| (|c| |$|) (LENGTH (SPADCALL |c| (QREFELT |$| 9))))
-(DEFUN |CLAGG-;count;MANni;2| (|f| |c| |$|) (PROG (|x| #1=#:G82637 #2=#:G82634
#3=#:G82632 #4=#:G82633) (RETURN (SEQ (PROGN (LETT #4# NIL
|CLAGG-;count;MANni;2|) (SEQ (LETT |x| NIL |CLAGG-;count;MANni;2|) (LETT #1#
(SPADCALL |c| (QREFELT |$| 9)) |CLAGG-;count;MANni;2|) G190 (COND ((OR (ATOM
#1#) (PROGN (LETT |x| (CAR #1#) |CLAGG-;count;MANni;2|) NIL)) (GO G191))) (SEQ
(EXIT (COND ((SPADCALL |x| |f|) (PROGN (LETT #2# 1 |CLAGG-;count;MANni;2|)
(COND (#4# (LETT #3# (|+| #3# #2#) |CLAGG-;count;MANni;2|)) ((QUOTE T) (PROGN
(LETT #3# #2# |CLAGG-;count;MANni;2|) (LETT #4# (QUOTE T)
|CLAGG-;count;MANni;2|))))))))) (LETT #1# (CDR #1#) |CLAGG-;count;MANni;2|) (GO
G190) G191 (EXIT NIL)) (COND (#4# #3#) ((QUOTE T) 0)))))))
-
-(DEFUN |CLAGG-;any?;MAB;3| (|f| |c| |$|) (PROG (|x| #1=#:G82642 #2=#:G82640
#3=#:G82638 #4=#:G82639) (RETURN (SEQ (PROGN (LETT #4# NIL |CLAGG-;any?;MAB;3|)
(SEQ (LETT |x| NIL |CLAGG-;any?;MAB;3|) (LETT #1# (SPADCALL |c| (QREFELT |$|
9)) |CLAGG-;any?;MAB;3|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#)
|CLAGG-;any?;MAB;3|) NIL)) (GO G191))) (SEQ (EXIT (PROGN (LETT #2# (SPADCALL
|x| |f|) |CLAGG-;any?;MAB;3|) (COND (#4# (LETT #3# (COND (#3# (QUOTE T))
((QUOTE T) #2#)) |CLAGG-;any?;MAB;3|)) ((QUOTE T) (PROGN (LETT #3# #2#
|CLAGG-;any?;MAB;3|) (LETT #4# (QUOTE T) |CLAGG-;any?;MAB;3|))))))) (LETT #1#
(CDR #1#) |CLAGG-;any?;MAB;3|) (GO G190) G191 (EXIT NIL)) (COND (#4# #3#)
((QUOTE T) (QUOTE NIL))))))))
-
-(DEFUN |CLAGG-;every?;MAB;4| (|f| |c| |$|) (PROG (|x| #1=#:G82647 #2=#:G82645
#3=#:G82643 #4=#:G82644) (RETURN (SEQ (PROGN (LETT #4# NIL
|CLAGG-;every?;MAB;4|) (SEQ (LETT |x| NIL |CLAGG-;every?;MAB;4|) (LETT #1#
(SPADCALL |c| (QREFELT |$| 9)) |CLAGG-;every?;MAB;4|) G190 (COND ((OR (ATOM
#1#) (PROGN (LETT |x| (CAR #1#) |CLAGG-;every?;MAB;4|) NIL)) (GO G191))) (SEQ
(EXIT (PROGN (LETT #2# (SPADCALL |x| |f|) |CLAGG-;every?;MAB;4|) (COND (#4#
(LETT #3# (COND (#3# #2#) ((QUOTE T) (QUOTE NIL))) |CLAGG-;every?;MAB;4|))
((QUOTE T) (PROGN (LETT #3# #2# |CLAGG-;every?;MAB;4|) (LETT #4# (QUOTE T)
|CLAGG-;every?;MAB;4|))))))) (LETT #1# (CDR #1#) |CLAGG-;every?;MAB;4|) (GO
G190) G191 (EXIT NIL)) (COND (#4# #3#) ((QUOTE T) (QUOTE T))))))))
-
-(DEFUN |CLAGG-;find;MAU;5| (|f| |c| |$|) (SPADCALL |f| (SPADCALL |c| (QREFELT
|$| 9)) (QREFELT |$| 18)))
-
-(DEFUN |CLAGG-;reduce;MAS;6| (|f| |x| |$|) (SPADCALL |f| (SPADCALL |x|
(QREFELT |$| 9)) (QREFELT |$| 21)))
-
-(DEFUN |CLAGG-;reduce;MA2S;7| (|f| |x| |s| |$|) (SPADCALL |f| (SPADCALL |x|
(QREFELT |$| 9)) |s| (QREFELT |$| 23)))
-
-(DEFUN |CLAGG-;remove;M2A;8| (|f| |x| |$|) (SPADCALL (SPADCALL |f| (SPADCALL
|x| (QREFELT |$| 9)) (QREFELT |$| 25)) (QREFELT |$| 26)))
-
-(DEFUN |CLAGG-;select;M2A;9| (|f| |x| |$|) (SPADCALL (SPADCALL |f| (SPADCALL
|x| (QREFELT |$| 9)) (QREFELT |$| 28)) (QREFELT |$| 26)))
-
-(DEFUN |CLAGG-;remove;S2A;10| (|s| |x| |$|) (SPADCALL (CONS (FUNCTION
|CLAGG-;remove;S2A;10!0|) (VECTOR |$| |s|)) |x| (QREFELT |$| 31)))
-
-(DEFUN |CLAGG-;remove;S2A;10!0| (|#1| |$$|) (SPADCALL |#1| (QREFELT |$$| 1)
(QREFELT (QREFELT |$$| 0) 30)))
-
-(DEFUN |CLAGG-;reduce;MA3S;11| (|f| |x| |s1| |s2| |$|) (SPADCALL |f| (SPADCALL
|x| (QREFELT |$| 9)) |s1| |s2| (QREFELT |$| 33)))
-
-(DEFUN |CLAGG-;removeDuplicates;2A;12| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL
|x| (QREFELT |$| 9)) (QREFELT |$| 35)) (QREFELT |$| 26)))
-
-(DEFUN |Collection&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|) (RETURN
(PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|Collection&|)) (LETT |DV$2|
(|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE |Collection&|) |DV$1|
|DV$2|) . #1#) (LETT |$| (GETREFV 37) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV
|$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasCategory| |#2| (QUOTE
(|ConvertibleTo| (|InputForm|)))) (|HasCategory| |#2| (QUOTE (|SetCategory|)))
(|HasAttribute| |#1| (QUOTE |finiteAggregate|)))) . #1#)) (|stuffDomainSlots|
|$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|) (COND ((|testBitVector| |pv$|
3) (PROGN (QSETREFV |$| 11 (CONS (|dispatchFunction| |CLAGG-;#;ANni;1|) |$|))
(QSETREFV |$| 13 (CONS (|dispatchFunction| |CLAGG-;count;MANni;2|) |$|))
(QSETREFV |$| 15 (CONS (|dispatchFunction| |CLAGG-;any?;MAB;3|) |$|)) (QSETREFV
|$| 16 (CONS (|dispatchFunction| |CLAGG-;every?;MAB;4|) |$|)) (QSETREFV |$| 19
(CONS (|dispatchFunction| |CLAGG-;find;MAU;5|) |$|)) (QSETREFV |!
$| 22 (CONS (|dispatchFunction| |CLAGG-;reduce;MAS;6|) |$|)) (QSETREFV |$| 24
(CONS (|dispatchFunction| |CLAGG-;reduce;MA2S;7|) |$|)) (QSETREFV |$| 27 (CONS
(|dispatchFunction| |CLAGG-;remove;M2A;8|) |$|)) (QSETREFV |$| 29 (CONS
(|dispatchFunction| |CLAGG-;select;M2A;9|) |$|)) (COND ((|testBitVector| |pv$|
2) (PROGN (QSETREFV |$| 32 (CONS (|dispatchFunction| |CLAGG-;remove;S2A;10|)
|$|)) (QSETREFV |$| 34 (CONS (|dispatchFunction| |CLAGG-;reduce;MA3S;11|) |$|))
(QSETREFV |$| 36 (CONS (|dispatchFunction| |CLAGG-;removeDuplicates;2A;12|)
|$|)))))))) |$|))))
-
-(MAKEPROP (QUOTE |Collection&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL
NIL NIL NIL (|local| |#1|) (|local| |#2|) (|List| 7) (0 . |parts|)
(|NonNegativeInteger|) (5 . |#|) (|Mapping| 14 7) (10 . |count|) (|Boolean|)
(16 . |any?|) (22 . |every?|) (|Union| 7 (QUOTE "failed")) (28 . |find|) (34 .
|find|) (|Mapping| 7 7 7) (40 . |reduce|) (46 . |reduce|) (52 . |reduce|) (59 .
|reduce|) (66 . |remove|) (72 . |construct|) (77 . |remove|) (83 . |select|)
(89 . |select|) (95 . |=|) (101 . |remove|) (107 . |remove|) (113 . |reduce|)
(121 . |reduce|) (129 . |removeDuplicates|) (134 . |removeDuplicates|))) (QUOTE
#(|select| 139 |removeDuplicates| 145 |remove| 150 |reduce| 162 |find| 183
|every?| 189 |count| 195 |any?| 201 |#| 207)) (QUOTE NIL) (CONS
(|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #())
(|makeByteWordVec2| 36 (QUOTE (1 6 8 0 9 1 0 10 0 11 2 0 10 12 0 13 2 0 14 12 0
15 2 0 14 12 0 16 2 8 17 12 0 18 2 0 17 12 0 19 2 8 7 20 0 21 2 0 7 20 0 22 3 8
7 2!
0 0 7 23 3 0 7 20 0 7 24 2 8 0 12 0 25 1 6 0 8 26 2 0 0 12 0 27 2 8 0 12 0 28 2
0 0 12 0 29 2 7 14 0 0 30 2 6 0 12 0 31 2 0 0 7 0 32 4 8 7 20 0 7 7 33 4 0 7 20
0 7 7 34 1 8 0 0 35 1 0 0 0 36 2 0 0 12 0 29 1 0 0 0 36 2 0 0 7 0 32 2 0 0 12 0
27 4 0 7 20 0 7 7 34 3 0 7 20 0 7 24 2 0 7 20 0 22 2 0 17 12 0 19 2 0 14 12 0
16 2 0 10 12 0 13 2 0 14 12 0 15 1 0 10 0 11)))))) (QUOTE |lookupComplete|)))
+(DEFUN |CLAGG-;count;MANni;2| (|f| |c| |$|)
+ (PROG (|x| #1=#:G82637 #2=#:G82634 #3=#:G82632 #4=#:G82633)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #4# NIL |CLAGG-;count;MANni;2|)
+ (SEQ
+ (LETT |x| NIL |CLAGG-;count;MANni;2|)
+ (LETT #1# (SPADCALL |c| (QREFELT |$| 9)) |CLAGG-;count;MANni;2|)
+ G190
+ (COND
+ ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) |CLAGG-;count;MANni;2|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL |x| |f|)
+ (PROGN
+ (LETT #2# 1 |CLAGG-;count;MANni;2|)
+ (COND
+ (#4# (LETT #3# (|+| #3# #2#) |CLAGG-;count;MANni;2|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #3# #2# |CLAGG-;count;MANni;2|)
+ (LETT #4# (QUOTE T) |CLAGG-;count;MANni;2|)))))))))
+ (LETT #1# (CDR #1#) |CLAGG-;count;MANni;2|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (COND (#4# #3#) ((QUOTE T) 0)))))))
+
+(DEFUN |CLAGG-;any?;MAB;3| (|f| |c| |$|)
+ (PROG (|x| #1=#:G82642 #2=#:G82640 #3=#:G82638 #4=#:G82639)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #4# NIL |CLAGG-;any?;MAB;3|)
+ (SEQ
+ (LETT |x| NIL |CLAGG-;any?;MAB;3|)
+ (LETT #1# (SPADCALL |c| (QREFELT |$| 9)) |CLAGG-;any?;MAB;3|)
+ G190
+ (COND
+ ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) |CLAGG-;any?;MAB;3|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #2# (SPADCALL |x| |f|) |CLAGG-;any?;MAB;3|)
+ (COND
+ (#4#
+ (LETT #3#
+ (COND (#3# (QUOTE T)) ((QUOTE T) #2#))
+ |CLAGG-;any?;MAB;3|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #3# #2# |CLAGG-;any?;MAB;3|)
+ (LETT #4# (QUOTE T) |CLAGG-;any?;MAB;3|)))))))
+ (LETT #1# (CDR #1#) |CLAGG-;any?;MAB;3|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (COND (#4# #3#) ((QUOTE T) (QUOTE NIL))))))))
+
+(DEFUN |CLAGG-;every?;MAB;4| (|f| |c| |$|)
+ (PROG (|x| #1=#:G82647 #2=#:G82645 #3=#:G82643 #4=#:G82644)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #4# NIL |CLAGG-;every?;MAB;4|)
+ (SEQ
+ (LETT |x| NIL |CLAGG-;every?;MAB;4|)
+ (LETT #1# (SPADCALL |c| (QREFELT |$| 9)) |CLAGG-;every?;MAB;4|)
+ G190
+ (COND
+ ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) |CLAGG-;every?;MAB;4|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #2# (SPADCALL |x| |f|) |CLAGG-;every?;MAB;4|)
+ (COND
+ (#4#
+ (LETT #3#
+ (COND (#3# #2#) ((QUOTE T) (QUOTE NIL)))
+ |CLAGG-;every?;MAB;4|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #3# #2# |CLAGG-;every?;MAB;4|)
+ (LETT #4# (QUOTE T) |CLAGG-;every?;MAB;4|)))))))
+ (LETT #1# (CDR #1#) |CLAGG-;every?;MAB;4|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (COND (#4# #3#) ((QUOTE T) (QUOTE T))))))))
+
+(DEFUN |CLAGG-;find;MAU;5| (|f| |c| |$|)
+ (SPADCALL |f| (SPADCALL |c| (QREFELT |$| 9)) (QREFELT |$| 18)))
+
+(DEFUN |CLAGG-;reduce;MAS;6| (|f| |x| |$|)
+ (SPADCALL |f| (SPADCALL |x| (QREFELT |$| 9)) (QREFELT |$| 21)))
+
+(DEFUN |CLAGG-;reduce;MA2S;7| (|f| |x| |s| |$|)
+ (SPADCALL |f| (SPADCALL |x| (QREFELT |$| 9)) |s| (QREFELT |$| 23)))
+
+(DEFUN |CLAGG-;remove;M2A;8| (|f| |x| |$|)
+ (SPADCALL
+ (SPADCALL |f| (SPADCALL |x| (QREFELT |$| 9)) (QREFELT |$| 25))
+ (QREFELT |$| 26)))
+
+(DEFUN |CLAGG-;select;M2A;9| (|f| |x| |$|)
+ (SPADCALL
+ (SPADCALL |f| (SPADCALL |x| (QREFELT |$| 9)) (QREFELT |$| 28))
+ (QREFELT |$| 26)))
+
+(DEFUN |CLAGG-;remove;S2A;10| (|s| |x| |$|)
+ (SPADCALL
+ (CONS (FUNCTION |CLAGG-;remove;S2A;10!0|) (VECTOR |$| |s|))
+ |x|
+ (QREFELT |$| 31)))
+
+(DEFUN |CLAGG-;remove;S2A;10!0| (|#1| |$$|)
+ (SPADCALL |#1| (QREFELT |$$| 1) (QREFELT (QREFELT |$$| 0) 30)))
+
+(DEFUN |CLAGG-;reduce;MA3S;11| (|f| |x| |s1| |s2| |$|)
+ (SPADCALL |f| (SPADCALL |x| (QREFELT |$| 9)) |s1| |s2| (QREFELT |$| 33)))
+
+(DEFUN |CLAGG-;removeDuplicates;2A;12| (|x| |$|)
+ (SPADCALL
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 9)) (QREFELT |$| 35))
+ (QREFELT |$| 26)))
+
+(DEFUN |Collection&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|Collection&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |Collection&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 37) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasCategory|
|#2| (QUOTE (|ConvertibleTo| (|InputForm|)))) (|HasCategory| |#2| (QUOTE
(|SetCategory|))) (|HasAttribute| |#1| (QUOTE |finiteAggregate|)))) . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|testBitVector| |pv$| 3)
+ (PROGN
+ (QSETREFV |$| 11 (CONS (|dispatchFunction| |CLAGG-;#;ANni;1|) |$|))
+ (QSETREFV |$| 13 (CONS (|dispatchFunction| |CLAGG-;count;MANni;2|) |$|))
+ (QSETREFV |$| 15 (CONS (|dispatchFunction| |CLAGG-;any?;MAB;3|) |$|))
+ (QSETREFV |$| 16 (CONS (|dispatchFunction| |CLAGG-;every?;MAB;4|) |$|))
+ (QSETREFV |$| 19 (CONS (|dispatchFunction| |CLAGG-;find;MAU;5|) |$|))
+ (QSETREFV |$| 22 (CONS (|dispatchFunction| |CLAGG-;reduce;MAS;6|) |$|))
+ (QSETREFV |$| 24 (CONS (|dispatchFunction| |CLAGG-;reduce;MA2S;7|) |$|))
+ (QSETREFV |$| 27 (CONS (|dispatchFunction| |CLAGG-;remove;M2A;8|) |$|))
+ (QSETREFV |$| 29 (CONS (|dispatchFunction| |CLAGG-;select;M2A;9|) |$|))
+ (COND
+ ((|testBitVector| |pv$| 2)
+ (PROGN
+ (QSETREFV |$| 32
+ (CONS (|dispatchFunction| |CLAGG-;remove;S2A;10|) |$|))
+ (QSETREFV |$| 34
+ (CONS (|dispatchFunction| |CLAGG-;reduce;MA3S;11|) |$|))
+ (QSETREFV |$| 36
+ (CONS (|dispatchFunction| |CLAGG-;removeDuplicates;2A;12|)
+ |$|))))))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |Collection&|)
+ (QUOTE |infovec|)
+ (LIST (QUOTE
+ #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|List| 7)
+ (0 . |parts|) (|NonNegativeInteger|) (5 . |#|) (|Mapping| 14 7)
+ (10 . |count|) (|Boolean|) (16 . |any?|) (22 . |every?|)
+ (|Union| 7 (QUOTE "failed")) (28 . |find|) (34 . |find|)
+ (|Mapping| 7 7 7) (40 . |reduce|) (46 . |reduce|) (52 . |reduce|)
+ (59 . |reduce|) (66 . |remove|) (72 . |construct|) (77 . |remove|)
+ (83 . |select|) (89 . |select|) (95 . |=|) (101 . |remove|)
+ (107 . |remove|) (113 . |reduce|) (121 . |reduce|)
+ (129 . |removeDuplicates|) (134 . |removeDuplicates|)))
+ (QUOTE #(|select| 139 |removeDuplicates| 145 |remove| 150 |reduce|
+ 162 |find| 183 |every?| 189 |count| 195 |any?| 201 |#| 207))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 36
+ (QUOTE (1 6 8 0 9 1 0 10 0 11 2 0 10 12 0 13 2 0 14 12 0 15 2 0 14
+ 12 0 16 2 8 17 12 0 18 2 0 17 12 0 19 2 8 7 20 0 21 2 0 7 20 0 22
+ 3 8 7 20 0 7 23 3 0 7 20 0 7 24 2 8 0 12 0 25 1 6 0 8 26 2 0 0 12
+ 0 27 2 8 0 12 0 28 2 0 0 12 0 29 2 7 14 0 0 30 2 6 0 12 0 31 2 0 0
+ 7 0 32 4 8 7 20 0 7 7 33 4 0 7 20 0 7 7 34 1 8 0 0 35 1 0 0 0 36 2
+ 0 0 12 0 29 1 0 0 0 36 2 0 0 7 0 32 2 0 0 12 0 27 4 0 7 20 0 7 7 34
+ 3 0 7 20 0 7 24 2 0 7 20 0 22 2 0 17 12 0 19 2 0 14 12 0 16 2 0 10
+ 12 0 13 2 0 14 12 0 15 1 0 10 0 11))))))
+ (QUOTE |lookupComplete|)))
@
\section{category DIAGG Dictionary}
<<category DIAGG Dictionary>>=
@@ -2987,11 +3217,14 @@ DoublyLinkedAggregate(S:Type): Category ==
RecursiveAggregate S with
++ Note: \axiom{next(l) = rest(l)} and \axiom{previous(next(l)) = l}.
if % has shallowlyMutable then
concat_!: (%,%) -> %
- ++ concat!(u,v) destructively concatenates doubly-linked aggregate v to
the end of doubly-linked aggregate u.
+ ++ concat!(u,v) destructively concatenates doubly-linked aggregate v
+ ++ to the end of doubly-linked aggregate u.
setprevious_!: (%,%) -> %
- ++ setprevious!(u,v) destructively sets the previous node of
doubly-linked aggregate u to v, returning v.
+ ++ setprevious!(u,v) destructively sets the previous node of
+ ++ doubly-linked aggregate u to v, returning v.
setnext_!: (%,%) -> %
- ++ setnext!(u,v) destructively sets the next node of doubly-linked
aggregate u to v, returning v.
+ ++ setnext!(u,v) destructively sets the next node of doubly-linked
+ ++ aggregate u to v, returning v.
@
<<DLAGG.dotabb>>=
@@ -3085,9 +3318,9 @@ DequeueAggregate(S:Type):
++ Keywords:
++ References:
++ Description:
-++ An extensible aggregate is one which allows insertion and deletion of
entries.
-++ These aggregates are models of lists and streams which are represented
-++ by linked structures so as to make insertion, deletion, and
+++ An extensible aggregate is one which allows insertion and deletion of
+++ entries. These aggregates are models of lists and streams which are
+++ represented by linked structures so as to make insertion, deletion, and
++ concatenation efficient. However, access to elements of these
++ extensible aggregates is generally slow since access is made from the end.
++ See \spadtype{FlexibleArray} for an exception.
@@ -3173,7 +3406,7 @@ ExtensibleLinearAggregate(S:Type):Category ==
LinearAggregate S with
++ An eltable over domains D and I is a structure which can be viewed
++ as a function from D to I.
++ Examples of eltable structures range from data structures, e.g. those
-++ of type \spadtype{List}, to algebraic structures, e.g.
\spadtype{Polynomial}.
+++ of type \spadtype{List}, to algebraic structures like \spadtype{Polynomial}.
Eltable(S:SetCategory, Index:Type): Category == with
elt : (%, S) -> Index
++ elt(u,i) (also written: u . i) returns the element of u indexed by i.
@@ -3280,23 +3513,27 @@ FiniteLinearAggregate(S:Type): Category ==
LinearAggregate S with
++ of \axiom{a} is examined, and so on. When all the elements of one
++ aggregate are examined, the remaining elements of the other
++ are appended.
- ++ For example, \axiom{merge(<,[1,3],[2,7,5])} returns
\axiom{[1,2,3,7,5]}.
+ ++ For example, \axiom{merge(<,[1,3],[2,7,5])} returns
+ ++ \axiom{[1,2,3,7,5]}.
reverse: % -> %
++ reverse(a) returns a copy of \axiom{a} with elements in reverse order.
sort: ((S,S)->Boolean,%) -> %
- ++ sort(p,a) returns a copy of \axiom{a} sorted using total ordering
predicate p.
+ ++ sort(p,a) returns a copy of \axiom{a} sorted using total ordering
+ ++ predicate p.
sorted?: ((S,S)->Boolean,%) -> Boolean
++ sorted?(p,a) tests if \axiom{a} is sorted according to predicate p.
position: (S->Boolean, %) -> Integer
- ++ position(p,a) returns the index i of the first x in \axiom{a} such
that
- ++ \axiom{p(x)} is true, and \axiom{minIndex(a) - 1} if there is no such
x.
+ ++ position(p,a) returns the index i of the first x in \axiom{a}
+ ++ such that \axiom{p(x)} is true, and \axiom{minIndex(a) - 1}
+ ++ if there is no such x.
if S has SetCategory then
position: (S, %) -> Integer
++ position(x,a) returns the index i of the first occurrence of x in a,
++ and \axiom{minIndex(a) - 1} if there is no such x.
position: (S,%,Integer) -> Integer
++ position(x,a,n) returns the index i of the first occurrence of x in
- ++ \axiom{a} where \axiom{i >= n}, and \axiom{minIndex(a) - 1} if no
such x is found.
+ ++ \axiom{a} where \axiom{i >= n}, and \axiom{minIndex(a) - 1}
+ ++ if no such x is found.
if S has OrderedSet then
OrderedSet
merge: (%,%) -> %
@@ -3420,13 +3657,15 @@ FiniteSetAggregate(S:SetCategory): Category ==
if S has Finite then
universe() == {index(i::PositiveInteger) for i in 1..size()$S}
complement s == difference(universe(), s )
- size() == 2 ** size()$S
- index i == {index(j::PositiveInteger)$S for j in 1..size()$S |
bit?(i-1,j-1)}
- random() == index((random()$Integer rem (size()$% +
1))::PositiveInteger)
+ size() == 2 ** size()$S
+ index i ==
+ {index(j::PositiveInteger)$S for j in 1..size()$S | bit?(i-1,j-1)}
+ random() == index((random()$Integer rem (size()$% + 1))::PositiveInteger)
lookup s ==
n:PositiveInteger := 1
- for x in parts s repeat n := n + 2 ** ((lookup(x) -
1)::NonNegativeInteger)
+ for x in parts s repeat _
+ n := n + 2 ** ((lookup(x) - 1)::NonNegativeInteger)
n
if S has OrderedSet then
@@ -3482,7 +3721,8 @@ HomogeneousAggregate(S:Type): Category == Aggregate with
++ For collections, \axiom{map(f,u) = [f(x) for x in u]}.
if % has shallowlyMutable then
map_!: (S->S,%) -> %
- ++ map!(f,u) destructively replaces each element x of u by \axiom{f(x)}.
+ ++ map!(f,u) destructively replaces each element x of u
+ ++ by \axiom{f(x)}.
if % has finiteAggregate then
any?: (S->Boolean,%) -> Boolean
++ any?(p,u) tests if \axiom{p(x)} is true for any element x of u.
@@ -3504,8 +3744,8 @@ HomogeneousAggregate(S:Type): Category == Aggregate with
++ For collections, \axiom{parts([x,y,...,z]) = (x,y,...,z)}.
if S has SetCategory then
count: (S,%) -> NonNegativeInteger
- ++ count(x,u) returns the number of occurrences of x in u.
- ++ For collections, \axiom{count(x,u) = reduce(+,[x=y for y in u],0)}.
+ ++ count(x,u) returns the number of occurrences of x in u. For
+ ++ collections, \axiom{count(x,u) = reduce(+,[x=y for y in u],0)}.
member?: (S,%) -> Boolean
++ member?(x,u) tests if x is a member of u.
++ For collections,
@@ -3639,35 +3879,281 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |HOAGG-;eval;ALA;1| (|u| |l| |$|) (SPADCALL (CONS (FUNCTION
|HOAGG-;eval;ALA;1!0|) (VECTOR |$| |l|)) |u| (QREFELT |$| 11)))
-
-(DEFUN |HOAGG-;eval;ALA;1!0| (|#1| |$$|) (SPADCALL |#1| (QREFELT |$$| 1)
(QREFELT (QREFELT |$$| 0) 9)))
+(DEFUN |HOAGG-;eval;ALA;1| (|u| |l| |$|)
+ (SPADCALL
+ (CONS (FUNCTION |HOAGG-;eval;ALA;1!0|) (VECTOR |$| |l|))
+ |u|
+ (QREFELT |$| 11)))
-(DEFUN |HOAGG-;#;ANni;2| (|c| |$|) (LENGTH (SPADCALL |c| (QREFELT |$| 14))))
+(DEFUN |HOAGG-;eval;ALA;1!0| (|#1| |$$|)
+ (SPADCALL |#1| (QREFELT |$$| 1) (QREFELT (QREFELT |$$| 0) 9)))
-(DEFUN |HOAGG-;any?;MAB;3| (|f| |c| |$|) (PROG (|x| #1=#:G82396 #2=#:G82393
#3=#:G82391 #4=#:G82392) (RETURN (SEQ (PROGN (LETT #4# NIL |HOAGG-;any?;MAB;3|)
(SEQ (LETT |x| NIL |HOAGG-;any?;MAB;3|) (LETT #1# (SPADCALL |c| (QREFELT |$|
14)) |HOAGG-;any?;MAB;3|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#)
|HOAGG-;any?;MAB;3|) NIL)) (GO G191))) (SEQ (EXIT (PROGN (LETT #2# (SPADCALL
|x| |f|) |HOAGG-;any?;MAB;3|) (COND (#4# (LETT #3# (COND (#3# (QUOTE T))
((QUOTE T) #2#)) |HOAGG-;any?;MAB;3|)) ((QUOTE T) (PROGN (LETT #3# #2#
|HOAGG-;any?;MAB;3|) (LETT #4# (QUOTE T) |HOAGG-;any?;MAB;3|))))))) (LETT #1#
(CDR #1#) |HOAGG-;any?;MAB;3|) (GO G190) G191 (EXIT NIL)) (COND (#4# #3#)
((QUOTE T) (QUOTE NIL))))))))
+(DEFUN |HOAGG-;#;ANni;2| (|c| |$|)
+ (LENGTH (SPADCALL |c| (QREFELT |$| 14))))
-(DEFUN |HOAGG-;every?;MAB;4| (|f| |c| |$|) (PROG (|x| #1=#:G82401 #2=#:G82399
#3=#:G82397 #4=#:G82398) (RETURN (SEQ (PROGN (LETT #4# NIL
|HOAGG-;every?;MAB;4|) (SEQ (LETT |x| NIL |HOAGG-;every?;MAB;4|) (LETT #1#
(SPADCALL |c| (QREFELT |$| 14)) |HOAGG-;every?;MAB;4|) G190 (COND ((OR (ATOM
#1#) (PROGN (LETT |x| (CAR #1#) |HOAGG-;every?;MAB;4|) NIL)) (GO G191))) (SEQ
(EXIT (PROGN (LETT #2# (SPADCALL |x| |f|) |HOAGG-;every?;MAB;4|) (COND (#4#
(LETT #3# (COND (#3# #2#) ((QUOTE T) (QUOTE NIL))) |HOAGG-;every?;MAB;4|))
((QUOTE T) (PROGN (LETT #3# #2# |HOAGG-;every?;MAB;4|) (LETT #4# (QUOTE T)
|HOAGG-;every?;MAB;4|))))))) (LETT #1# (CDR #1#) |HOAGG-;every?;MAB;4|) (GO
G190) G191 (EXIT NIL)) (COND (#4# #3#) ((QUOTE T) (QUOTE T))))))))
-
-(DEFUN |HOAGG-;count;MANni;5| (|f| |c| |$|) (PROG (|x| #1=#:G82406 #2=#:G82404
#3=#:G82402 #4=#:G82403) (RETURN (SEQ (PROGN (LETT #4# NIL
|HOAGG-;count;MANni;5|) (SEQ (LETT |x| NIL |HOAGG-;count;MANni;5|) (LETT #1#
(SPADCALL |c| (QREFELT |$| 14)) |HOAGG-;count;MANni;5|) G190 (COND ((OR (ATOM
#1#) (PROGN (LETT |x| (CAR #1#) |HOAGG-;count;MANni;5|) NIL)) (GO G191))) (SEQ
(EXIT (COND ((SPADCALL |x| |f|) (PROGN (LETT #2# 1 |HOAGG-;count;MANni;5|)
(COND (#4# (LETT #3# (|+| #3# #2#) |HOAGG-;count;MANni;5|)) ((QUOTE T) (PROGN
(LETT #3# #2# |HOAGG-;count;MANni;5|) (LETT #4# (QUOTE T)
|HOAGG-;count;MANni;5|))))))))) (LETT #1# (CDR #1#) |HOAGG-;count;MANni;5|) (GO
G190) G191 (EXIT NIL)) (COND (#4# #3#) ((QUOTE T) 0)))))))
+(DEFUN |HOAGG-;any?;MAB;3| (|f| |c| |$|)
+ (PROG (|x| #1=#:G82396 #2=#:G82393 #3=#:G82391 #4=#:G82392)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #4# NIL |HOAGG-;any?;MAB;3|)
+ (SEQ
+ (LETT |x| NIL |HOAGG-;any?;MAB;3|)
+ (LETT #1# (SPADCALL |c| (QREFELT |$| 14)) |HOAGG-;any?;MAB;3|)
+ G190
+ (COND
+ ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) |HOAGG-;any?;MAB;3|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #2# (SPADCALL |x| |f|) |HOAGG-;any?;MAB;3|)
+ (COND
+ (#4#
+ (LETT #3#
+ (COND
+ (#3# (QUOTE T))
+ ((QUOTE T) #2#))
+ |HOAGG-;any?;MAB;3|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #3# #2# |HOAGG-;any?;MAB;3|)
+ (LETT #4# (QUOTE T) |HOAGG-;any?;MAB;3|)))))))
+ (LETT #1# (CDR #1#) |HOAGG-;any?;MAB;3|) (GO G190) G191 (EXIT NIL))
+ (COND (#4# #3#) ((QUOTE T) (QUOTE NIL))))))))
+
+(DEFUN |HOAGG-;every?;MAB;4| (|f| |c| |$|)
+ (PROG (|x| #1=#:G82401 #2=#:G82399 #3=#:G82397 #4=#:G82398)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #4# NIL |HOAGG-;every?;MAB;4|)
+ (SEQ
+ (LETT |x| NIL |HOAGG-;every?;MAB;4|)
+ (LETT #1# (SPADCALL |c| (QREFELT |$| 14)) |HOAGG-;every?;MAB;4|)
+ G190
+ (COND
+ ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) |HOAGG-;every?;MAB;4|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #2# (SPADCALL |x| |f|) |HOAGG-;every?;MAB;4|)
+ (COND
+ (#4#
+ (LETT #3#
+ (COND (#3# #2#) ((QUOTE T) (QUOTE NIL)))
+ |HOAGG-;every?;MAB;4|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #3# #2# |HOAGG-;every?;MAB;4|)
+ (LETT #4# (QUOTE T) |HOAGG-;every?;MAB;4|)))))))
+ (LETT #1# (CDR #1#) |HOAGG-;every?;MAB;4|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (COND (#4# #3#) ((QUOTE T) (QUOTE T))))))))
+
+(DEFUN |HOAGG-;count;MANni;5| (|f| |c| |$|)
+ (PROG (|x| #1=#:G82406 #2=#:G82404 #3=#:G82402 #4=#:G82403)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #4# NIL |HOAGG-;count;MANni;5|)
+ (SEQ
+ (LETT |x| NIL |HOAGG-;count;MANni;5|)
+ (LETT #1# (SPADCALL |c| (QREFELT |$| 14)) |HOAGG-;count;MANni;5|)
+ G190
+ (COND
+ ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) |HOAGG-;count;MANni;5|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL |x| |f|)
+ (PROGN
+ (LETT #2# 1 |HOAGG-;count;MANni;5|)
+ (COND
+ (#4# (LETT #3# (|+| #3# #2#) |HOAGG-;count;MANni;5|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #3# #2# |HOAGG-;count;MANni;5|)
+ (LETT #4# (QUOTE T) |HOAGG-;count;MANni;5|)))))))))
+ (LETT #1# (CDR #1#) |HOAGG-;count;MANni;5|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (COND (#4# #3#) ((QUOTE T) 0)))))))
(DEFUN |HOAGG-;members;AL;6| (|x| |$|) (SPADCALL |x| (QREFELT |$| 14)))
-(DEFUN |HOAGG-;count;SANni;7| (|s| |x| |$|) (SPADCALL (CONS (FUNCTION
|HOAGG-;count;SANni;7!0|) (VECTOR |$| |s|)) |x| (QREFELT |$| 24)))
+(DEFUN |HOAGG-;count;SANni;7| (|s| |x| |$|)
+ (SPADCALL
+ (CONS (FUNCTION |HOAGG-;count;SANni;7!0|) (VECTOR |$| |s|))
+ |x|
+ (QREFELT |$| 24)))
-(DEFUN |HOAGG-;count;SANni;7!0| (|#1| |$$|) (SPADCALL (QREFELT |$$| 1) |#1|
(QREFELT (QREFELT |$$| 0) 23)))
+(DEFUN |HOAGG-;count;SANni;7!0| (|#1| |$$|)
+ (SPADCALL (QREFELT |$$| 1) |#1| (QREFELT (QREFELT |$$| 0) 23)))
-(DEFUN |HOAGG-;member?;SAB;8| (|e| |c| |$|) (SPADCALL (CONS (FUNCTION
|HOAGG-;member?;SAB;8!0|) (VECTOR |$| |e|)) |c| (QREFELT |$| 26)))
+(DEFUN |HOAGG-;member?;SAB;8| (|e| |c| |$|)
+ (SPADCALL
+ (CONS (FUNCTION |HOAGG-;member?;SAB;8!0|) (VECTOR |$| |e|))
+ |c|
+ (QREFELT |$| 26)))
-(DEFUN |HOAGG-;member?;SAB;8!0| (|#1| |$$|) (SPADCALL (QREFELT |$$| 1) |#1|
(QREFELT (QREFELT |$$| 0) 23)))
+(DEFUN |HOAGG-;member?;SAB;8!0| (|#1| |$$|)
+ (SPADCALL (QREFELT |$$| 1) |#1| (QREFELT (QREFELT |$$| 0) 23)))
-(DEFUN |HOAGG-;=;2AB;9| (|x| |y| |$|) (PROG (|b| #1=#:G82416 |a| #2=#:G82415
#3=#:G82412 #4=#:G82410 #5=#:G82411) (RETURN (SEQ (COND ((SPADCALL |x|
(SPADCALL |y| (QREFELT |$| 28)) (QREFELT |$| 29)) (PROGN (LETT #5# NIL
|HOAGG-;=;2AB;9|) (SEQ (LETT |b| NIL |HOAGG-;=;2AB;9|) (LETT #1# (SPADCALL |y|
(QREFELT |$| 14)) |HOAGG-;=;2AB;9|) (LETT |a| NIL |HOAGG-;=;2AB;9|) (LETT #2#
(SPADCALL |x| (QREFELT |$| 14)) |HOAGG-;=;2AB;9|) G190 (COND ((OR (ATOM #2#)
(PROGN (LETT |a| (CAR #2#) |HOAGG-;=;2AB;9|) NIL) (ATOM #1#) (PROGN (LETT |b|
(CAR #1#) |HOAGG-;=;2AB;9|) NIL)) (GO G191))) (SEQ (EXIT (PROGN (LETT #3#
(SPADCALL |a| |b| (QREFELT |$| 23)) |HOAGG-;=;2AB;9|) (COND (#5# (LETT #4#
(COND (#4# #3#) ((QUOTE T) (QUOTE NIL))) |HOAGG-;=;2AB;9|)) ((QUOTE T) (PROGN
(LETT #4# #3# |HOAGG-;=;2AB;9|) (LETT #5# (QUOTE T) |HOAGG-;=;2AB;9|)))))))
(LETT #2# (PROG1 (CDR #2#) (LETT #1# (CDR #1#) |HOAGG-;=;2AB;9|))
|HOAGG-;=;2AB;9|) (GO G190) G191 (EXIT NIL)) (COND (#5# #4#) ((QUOTE T) (QUOTE
T))))) ((!
QUOTE T) (QUOTE NIL)))))))
-
-(DEFUN |HOAGG-;coerce;AOf;10| (|x| |$|) (PROG (#1=#:G82420 |a| #2=#:G82421)
(RETURN (SEQ (SPADCALL (SPADCALL (PROGN (LETT #1# NIL |HOAGG-;coerce;AOf;10|)
(SEQ (LETT |a| NIL |HOAGG-;coerce;AOf;10|) (LETT #2# (SPADCALL |x| (QREFELT |$|
14)) |HOAGG-;coerce;AOf;10|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |a| (CAR
#2#) |HOAGG-;coerce;AOf;10|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS
(SPADCALL |a| (QREFELT |$| 32)) #1#) |HOAGG-;coerce;AOf;10|))) (LETT #2# (CDR
#2#) |HOAGG-;coerce;AOf;10|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (QREFELT
|$| 34)) (QREFELT |$| 35))))))
-
-(DEFUN |HomogeneousAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$|
|pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) .
#1=(|HomogeneousAggregate&|)) (LETT |DV$2| (|devaluate| |#2|) . #1#) (LETT
|dv$| (LIST (QUOTE |HomogeneousAggregate&|) |DV$1| |DV$2|) . #1#) (LETT |$|
(GETREFV 38) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$|
(|buildPredVector| 0 0 (LIST (|HasAttribute| |#1| (QUOTE |finiteAggregate|))
(|HasAttribute| |#1| (QUOTE |shallowlyMutable|)) (|HasCategory| |#2| (LIST
(QUOTE |Evalable|) (|devaluate| |#2|))) (|HasCategory| |#2| (QUOTE
(|SetCategory|))))) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|)
(QSETREFV |$| 7 |#2|) (COND ((|testBitVector| |pv$| 3) (QSETREFV |$| 12 (CONS
(|dispatchFunction| |HOAGG-;eval;ALA;1|) |$|)))) (COND ((|testBitVector| |pv$|
1) (PROGN (QSETREFV |$| 16 (CONS (|dispatchFunction| |HOAGG-;#;ANni;2|) |$|))
(QSETREFV |$| 19 (CONS (|dispatchFunction| |HOAGG-;any?;MAB;3|) |$|)) (QSETREFV
|$| 20 (CONS (|dispatchFunc!
tion| |HOAGG-;every?;MAB;4|) |$|)) (QSETREFV |$| 21 (CONS (|dispatchFunction|
|HOAGG-;count;MANni;5|) |$|)) (QSETREFV |$| 22 (CONS (|dispatchFunction|
|HOAGG-;members;AL;6|) |$|)) (COND ((|testBitVector| |pv$| 4) (PROGN (QSETREFV
|$| 25 (CONS (|dispatchFunction| |HOAGG-;count;SANni;7|) |$|)) (QSETREFV |$| 27
(CONS (|dispatchFunction| |HOAGG-;member?;SAB;8|) |$|)) (QSETREFV |$| 30 (CONS
(|dispatchFunction| |HOAGG-;=;2AB;9|) |$|)) (QSETREFV |$| 36 (CONS
(|dispatchFunction| |HOAGG-;coerce;AOf;10|) |$|)))))))) |$|))))
-
-(MAKEPROP (QUOTE |HomogeneousAggregate&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL
NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|List| 37) (0 . |eval|)
(|Mapping| 7 7) (6 . |map|) (12 . |eval|) (|List| 7) (18 . |parts|)
(|NonNegativeInteger|) (23 . |#|) (|Boolean|) (|Mapping| 17 7) (28 . |any?|)
(34 . |every?|) (40 . |count|) (46 . |members|) (51 . |=|) (57 . |count|) (63 .
|count|) (69 . |any?|) (75 . |member?|) (81 . |#|) (86 . |size?|) (92 . |=|)
(|OutputForm|) (98 . |coerce|) (|List| |$|) (103 . |commaSeparate|) (108 .
|bracket|) (113 . |coerce|) (|Equation| 7))) (QUOTE #(|members| 118 |member?|
123 |every?| 129 |eval| 135 |count| 141 |coerce| 153 |any?| 158 |=| 164 |#|
170)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #())
(CONS (QUOTE #()) (|makeByteWordVec2| 36 (QUOTE (2 7 0 0 8 9 2 6 0 10 0 11 2 0
0 0 8 12 1 6 13 0 14 1 0 15 0 16 2 0 17 18 0 19 2 0 17 18 0 20 2 0 15 18 0 21 1
0 13 0 22 2 7 17 0 0 23 2 6 15 18 0 24 2 0 15 7 0 25 2 6 17 18 0 26!
2 0 17 7 0 27 1 6 15 0 28 2 6 17 0 15 29 2 0 17 0 0 30 1 7 31 0 32 1 31 0 33
34 1 31 0 0 35 1 0 31 0 36 1 0 13 0 22 2 0 17 7 0 27 2 0 17 18 0 20 2 0 0 0 8
12 2 0 15 7 0 25 2 0 15 18 0 21 1 0 31 0 36 2 0 17 18 0 19 2 0 17 0 0 30 1 0 15
0 16)))))) (QUOTE |lookupComplete|)))
+(DEFUN |HOAGG-;=;2AB;9| (|x| |y| |$|)
+ (PROG (|b| #1=#:G82416 |a| #2=#:G82415 #3=#:G82412 #4=#:G82410 #5=#:G82411)
+ (RETURN
+ (SEQ
+ (COND
+ ((SPADCALL |x| (SPADCALL |y| (QREFELT |$| 28)) (QREFELT |$| 29))
+ (PROGN
+ (LETT #5# NIL |HOAGG-;=;2AB;9|)
+ (SEQ
+ (LETT |b| NIL |HOAGG-;=;2AB;9|)
+ (LETT #1# (SPADCALL |y| (QREFELT |$| 14)) |HOAGG-;=;2AB;9|)
+ (LETT |a| NIL |HOAGG-;=;2AB;9|)
+ (LETT #2# (SPADCALL |x| (QREFELT |$| 14)) |HOAGG-;=;2AB;9|)
+ G190
+ (COND
+ ((OR
+ (ATOM #2#)
+ (PROGN (LETT |a| (CAR #2#) |HOAGG-;=;2AB;9|) NIL)
+ (ATOM #1#)
+ (PROGN (LETT |b| (CAR #1#) |HOAGG-;=;2AB;9|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #3# (SPADCALL |a| |b| (QREFELT |$| 23)) |HOAGG-;=;2AB;9|)
+ (COND
+ (#5#
+ (LETT #4#
+ (COND (#4# #3#) ((QUOTE T) (QUOTE NIL)))
+ |HOAGG-;=;2AB;9|))
+ ((QUOTE T)
+ (PROGN
+ (LETT #4# #3# |HOAGG-;=;2AB;9|)
+ (LETT #5# (QUOTE T) |HOAGG-;=;2AB;9|)))))))
+ (LETT #2#
+ (PROG1
+ (CDR #2#)
+ (LETT #1# (CDR #1#) |HOAGG-;=;2AB;9|))
+ |HOAGG-;=;2AB;9|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (COND (#5# #4#) ((QUOTE T) (QUOTE T)))))
+ ((QUOTE T) (QUOTE NIL)))))))
+
+(DEFUN |HOAGG-;coerce;AOf;10| (|x| |$|)
+ (PROG (#1=#:G82420 |a| #2=#:G82421)
+ (RETURN
+ (SEQ
+ (SPADCALL
+ (SPADCALL
+ (PROGN
+ (LETT #1# NIL |HOAGG-;coerce;AOf;10|)
+ (SEQ
+ (LETT |a| NIL |HOAGG-;coerce;AOf;10|)
+ (LETT #2# (SPADCALL |x| (QREFELT |$| 14)) |HOAGG-;coerce;AOf;10|)
+ G190
+ (COND
+ ((OR
+ (ATOM #2#)
+ (PROGN (LETT |a| (CAR #2#) |HOAGG-;coerce;AOf;10|) NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT #1#
+ (CONS (SPADCALL |a| (QREFELT |$| 32)) #1#)
+ |HOAGG-;coerce;AOf;10|)))
+ (LETT #2# (CDR #2#) |HOAGG-;coerce;AOf;10|)
+ (GO G190)
+ G191
+ (EXIT (NREVERSE0 #1#))))
+ (QREFELT |$| 34))
+ (QREFELT |$| 35))))))
+
+(DEFUN |HomogeneousAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|HomogeneousAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |HomogeneousAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 38) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3
+ (LETT |pv$|
+ (|buildPredVector| 0 0
+ (LIST
+ (|HasAttribute| |#1| (QUOTE |finiteAggregate|))
+ (|HasAttribute| |#1| (QUOTE |shallowlyMutable|))
+ (|HasCategory| |#2| (LIST (QUOTE |Evalable|) (|devaluate| |#2|)))
+ (|HasCategory| |#2| (QUOTE (|SetCategory|)))))
+ . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|testBitVector| |pv$| 3)
+ (QSETREFV |$| 12 (CONS (|dispatchFunction| |HOAGG-;eval;ALA;1|) |$|))))
+ (COND
+ ((|testBitVector| |pv$| 1)
+ (PROGN
+ (QSETREFV |$| 16 (CONS (|dispatchFunction| |HOAGG-;#;ANni;2|) |$|))
+ (QSETREFV |$| 19 (CONS (|dispatchFunction| |HOAGG-;any?;MAB;3|) |$|))
+ (QSETREFV |$| 20 (CONS (|dispatchFunction| |HOAGG-;every?;MAB;4|) |$|))
+ (QSETREFV |$| 21 (CONS (|dispatchFunction| |HOAGG-;count;MANni;5|) |$|))
+ (QSETREFV |$| 22 (CONS (|dispatchFunction| |HOAGG-;members;AL;6|) |$|))
+ (COND
+ ((|testBitVector| |pv$| 4)
+ (PROGN
+ (QSETREFV |$| 25
+ (CONS (|dispatchFunction| |HOAGG-;count;SANni;7|) |$|))
+ (QSETREFV |$| 27
+ (CONS (|dispatchFunction| |HOAGG-;member?;SAB;8|) |$|))
+ (QSETREFV |$| 30
+ (CONS (|dispatchFunction| |HOAGG-;=;2AB;9|) |$|))
+ (QSETREFV |$| 36
+ (CONS (|dispatchFunction| |HOAGG-;coerce;AOf;10|) |$|))))))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |HomogeneousAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|List| 37)
+ (0 . |eval|) (|Mapping| 7 7) (6 . |map|) (12 . |eval|) (|List| 7)
+ (18 . |parts|) (|NonNegativeInteger|) (23 . |#|) (|Boolean|)
+ (|Mapping| 17 7) (28 . |any?|) (34 . |every?|) (40 . |count|)
+ (46 . |members|) (51 . |=|) (57 . |count|) (63 . |count|) (69 . |any?|)
+ (75 . |member?|) (81 . |#|) (86 . |size?|) (92 . |=|) (|OutputForm|)
+ (98 . |coerce|) (|List| |$|) (103 . |commaSeparate|) (108 . |bracket|)
+ (113 . |coerce|) (|Equation| 7)))
+ (QUOTE #(|members| 118 |member?| 123 |every?| 129 |eval| 135 |count| 141
+ |coerce| 153 |any?| 158 |=| 164 |#| 170))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 36
+ (QUOTE (2 7 0 0 8 9 2 6 0 10 0 11 2 0 0 0 8 12 1 6 13 0 14 1 0 15 0
+ 16 2 0 17 18 0 19 2 0 17 18 0 20 2 0 15 18 0 21 1 0 13 0 22 2 7 17
+ 0 0 23 2 6 15 18 0 24 2 0 15 7 0 25 2 6 17 18 0 26 2 0 17 7 0 27 1
+ 6 15 0 28 2 6 17 0 15 29 2 0 17 0 0 30 1 7 31 0 32 1 31 0 33 34 1
+ 31 0 0 35 1 0 31 0 36 1 0 13 0 22 2 0 17 7 0 27 2 0 17 18 0 20 2 0
+ 0 0 8 12 2 0 15 7 0 25 2 0 15 18 0 21 1 0 31 0 36 2 0 17 18 0 19 2
+ 0 17 0 0 30 1 0 15 0 16))))))
+ (QUOTE |lookupComplete|)))
@
\section{category IXAGG IndexedAggregate}
<<category IXAGG IndexedAggregate>>=
@@ -3696,8 +4182,8 @@ IndexedAggregate(Index: SetCategory, Entry: Type):
Category ==
++ index?(i,u) tests if i is an index of aggregate u.
indices: % -> List Index
++ indices(u) returns a list of indices of aggregate u in no
- ++ particular order.
- -- to become indices: % -> Index* and indices: % ->
Iterator(Index,Index).
+ ++ particular order. to become indices:
+ -- % -> Index* and indices: % -> Iterator(Index,Index).
-- map: ((Entry,Entry)->Entry,%,%,Entry) -> %
-- ++ exists c = map(f,a,b,x), i:Index where
-- ++ c.i = f(a(i,x),b(i,x)) | index?(i,a) or index?(i,b)
@@ -3855,9 +4341,9 @@ KeyedDictionary(Key:SetCategory, Entry:SetCategory):
Category ==
++ Most of the exported operations for linear aggregates are non-destructive
++ but are not always efficient for a particular aggregate.
++ For example, \spadfun{concat} of two lists needs only to copy its first
-++ argument, whereas \spadfun{concat} of two arrays needs to copy both
arguments.
-++ Most of the operations exported here apply to infinite objects (e.g.
streams)
-++ as well to finite ones.
+++ argument, whereas \spadfun{concat} of two arrays needs to copy both
+++ arguments. Most of the operations exported here apply to infinite
+++ objects (e.g. streams) as well to finite ones.
++ For finite linear aggregates, see \spadtype{FiniteLinearAggregate}.
LinearAggregate(S:Type): Category ==
Join(IndexedAggregate(Integer, S), Collection(S)) with
@@ -3872,11 +4358,12 @@ LinearAggregate(S:Type): Category ==
concat: (%,%) -> %
++ concat(u,v) returns an aggregate consisting of the elements of u
++ followed by the elements of v.
- ++ Note: if \axiom{w = concat(u,v)} then \axiom{w.i = u.i for i in
indices u}
+ ++ Note: if \axiom{w = concat(u,v)} then
+ ++ \axiom{w.i = u.i for i in indices u}
++ and \axiom{w.(j + maxIndex u) = v.j for j in indices v}.
concat: List % -> %
- ++ concat(u), where u is a lists of aggregates \axiom{[a,b,...,c]},
returns
- ++ a single aggregate consisting of the elements of \axiom{a}
+ ++ concat(u), where u is a lists of aggregates \axiom{[a,b,...,c]},
+ ++ returns a single aggregate consisting of the elements of \axiom{a}
++ followed by those
++ of b followed ... by the elements of c.
++ Note: \axiom{concat(a,b,...,c) = concat(a,concat(b,...,c))}.
@@ -3890,7 +4377,8 @@ LinearAggregate(S:Type): Category ==
++ Note: in general, \axiom{a.s = [a.k for i in s]}.
delete: (%,Integer) -> %
++ delete(u,i) returns a copy of u with the \axiom{i}th element deleted.
- ++ Note: for lists, \axiom{delete(a,i) == concat(a(0..i - 1),a(i +
1,..))}.
+ ++ Note: for lists,
+ ++ \axiom{delete(a,i) == concat(a(0..i - 1),a(i + 1,..))}.
delete: (%,UniversalSegment(Integer)) -> %
++ delete(u,i..j) returns a copy of u with the \axiom{i}th through
++ \axiom{j}th element deleted.
@@ -3950,9 +4438,59 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |LinearAggregate;AL| (QUOTE NIL))
-(DEFUN |LinearAggregate| (#1=#:G85818) (LET (#2=#:G85819) (COND ((SETQ #2#
(|assoc| (|devaluate| #1#) |LinearAggregate;AL|)) (CDR #2#)) (T (SETQ
|LinearAggregate;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2#
(|LinearAggregate;| #1#))) |LinearAggregate;AL|)) #2#))))
-
-(DEFUN |LinearAggregate;| (|t#1|) (PROG (#1=#:G85817) (RETURN (PROG1 (LETT #1#
(|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (|sublisV| (PAIR
(QUOTE (#2=#:G85816)) (LIST (QUOTE (|Integer|)))) (COND (|LinearAggregate;CAT|)
((QUOTE T) (LETT |LinearAggregate;CAT| (|Join| (|IndexedAggregate| (QUOTE #2#)
(QUOTE |t#1|)) (|Collection| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|)
(QUOTE (((|new| (|$| (|NonNegativeInteger|) |t#1|)) T) ((|concat| (|$| |$|
|t#1|)) T) ((|concat| (|$| |t#1| |$|)) T) ((|concat| (|$| |$| |$|)) T)
((|concat| (|$| (|List| |$|))) T) ((|map| (|$| (|Mapping| |t#1| |t#1| |t#1|)
|$| |$|)) T) ((|elt| (|$| |$| (|UniversalSegment| (|Integer|)))) T) ((|delete|
(|$| |$| (|Integer|))) T) ((|delete| (|$| |$| (|UniversalSegment|
(|Integer|)))) T) ((|insert| (|$| |t#1| |$| (|Integer|))) T) ((|insert| (|$|
|$| |$| (|Integer|))) T) ((|setelt| (|t#1| |$| (|UniversalSegment| (|Integer|))
|t#1|)) (|has| |$| (ATTRIBUTE |shallowlyMutable|))))) NIL (QUOTE ((|Univ!
ersalSegment| (|Integer|)) (|Integer|) (|List| |$|) (|NonNegativeInteger|)))
NIL)) . #3=(|LinearAggregate|)))))) . #3#) (SETELT #1# 0 (LIST (QUOTE
|LinearAggregate|) (|devaluate| |t#1|)))))))
+(DEFUN |LinearAggregate| (#1=#:G85818)
+ (LET (#2=#:G85819)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |LinearAggregate;AL|)) (CDR #2#))
+ (T
+ (SETQ |LinearAggregate;AL|
+ (|cons5|
+ (CONS (|devaluate| #1#) (SETQ #2# (|LinearAggregate;| #1#)))
+ |LinearAggregate;AL|))
+ #2#))))
+
+(DEFUN |LinearAggregate;| (|t#1|)
+ (PROG (#1=#:G85817)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (|sublisV|
+ (PAIR (QUOTE (#2=#:G85816)) (LIST (QUOTE (|Integer|))))
+ (COND
+ (|LinearAggregate;CAT|)
+ ((QUOTE T)
+ (LETT |LinearAggregate;CAT|
+ (|Join|
+ (|IndexedAggregate| (QUOTE #2#) (QUOTE |t#1|))
+ (|Collection| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|new| (|$| (|NonNegativeInteger|) |t#1|)) T)
+ ((|concat| (|$| |$| |t#1|)) T)
+ ((|concat| (|$| |t#1| |$|)) T)
+ ((|concat| (|$| |$| |$|)) T)
+ ((|concat| (|$| (|List| |$|))) T)
+ ((|map| (|$| (|Mapping| |t#1| |t#1| |t#1|) |$| |$|)) T)
+ ((|elt| (|$| |$| (|UniversalSegment| (|Integer|)))) T)
+ ((|delete| (|$| |$| (|Integer|))) T)
+ ((|delete| (|$| |$| (|UniversalSegment| (|Integer|)))) T)
+ ((|insert| (|$| |t#1| |$| (|Integer|))) T)
+ ((|insert| (|$| |$| |$| (|Integer|))) T)
+ ((|setelt| (|t#1| |$| (|UniversalSegment| (|Integer|)) |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))))
+ NIL
+ (QUOTE (
+ (|UniversalSegment| (|Integer|))
+ (|Integer|)
+ (|List| |$|)
+ (|NonNegativeInteger|)))
+ NIL))
+ . #3=(|LinearAggregate|))))))
+ . #3#)
+ (SETELT #1# 0 (LIST (QUOTE |LinearAggregate|) (|devaluate| |t#1|)))))))
@
\section{LNAGG-.lsp BOOTSTRAP}
{\bf LNAGG-} depends on {\bf LNAGG}. We need to break this cycle to build
@@ -3967,21 +4505,88 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |LNAGG-;indices;AL;1| (|a| |$|) (PROG (#1=#:G85833 |i| #2=#:G85834)
(RETURN (SEQ (PROGN (LETT #1# NIL |LNAGG-;indices;AL;1|) (SEQ (LETT |i|
(SPADCALL |a| (QREFELT |$| 9)) |LNAGG-;indices;AL;1|) (LETT #2# (SPADCALL |a|
(QREFELT |$| 10)) |LNAGG-;indices;AL;1|) G190 (COND ((|>| |i| #2#) (GO G191)))
(SEQ (EXIT (LETT #1# (CONS |i| #1#) |LNAGG-;indices;AL;1|))) (LETT |i| (|+| |i|
1) |LNAGG-;indices;AL;1|) (GO G190) G191 (EXIT (NREVERSE0 #1#))))))))
-
-(DEFUN |LNAGG-;index?;IAB;2| (|i| |a| |$|) (COND ((OR (|<| |i| (SPADCALL |a|
(QREFELT |$| 9))) (|<| (SPADCALL |a| (QREFELT |$| 10)) |i|)) (QUOTE NIL))
((QUOTE T) (QUOTE T))))
-
-(DEFUN |LNAGG-;concat;ASA;3| (|a| |x| |$|) (SPADCALL |a| (SPADCALL 1 |x|
(QREFELT |$| 16)) (QREFELT |$| 17)))
-
-(DEFUN |LNAGG-;concat;S2A;4| (|x| |y| |$|) (SPADCALL (SPADCALL 1 |x| (QREFELT
|$| 16)) |y| (QREFELT |$| 17)))
-
-(DEFUN |LNAGG-;insert;SAIA;5| (|x| |a| |i| |$|) (SPADCALL (SPADCALL 1 |x|
(QREFELT |$| 16)) |a| |i| (QREFELT |$| 20)))
-
-(DEFUN |LNAGG-;maxIndex;AI;6| (|l| |$|) (|+| (|-| (SPADCALL |l| (QREFELT |$|
22)) 1) (SPADCALL |l| (QREFELT |$| 9))))
-
-(DEFUN |LinearAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
(RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|LinearAggregate&|)) (LETT
|DV$2| (|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE |LinearAggregate&|)
|DV$1| |DV$2|) . #1#) (LETT |$| (GETREFV 25) . #1#) (QSETREFV |$| 0 |dv$|)
(QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasAttribute| |#1|
(QUOTE |shallowlyMutable|)))) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6
|#1|) (QSETREFV |$| 7 |#2|) (COND ((|HasAttribute| |#1| (QUOTE
|finiteAggregate|)) (QSETREFV |$| 23 (CONS (|dispatchFunction|
|LNAGG-;maxIndex;AI;6|) |$|)))) |$|))))
-
-(MAKEPROP (QUOTE |LinearAggregate&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL
NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|Integer|) (0 . |minIndex|) (5 .
|maxIndex|) (|List| 8) |LNAGG-;indices;AL;1| (|Boolean|) |LNAGG-;index?;IAB;2|
(|NonNegativeInteger|) (10 . |new|) (16 . |concat|) |LNAGG-;concat;ASA;3|
|LNAGG-;concat;S2A;4| (22 . |insert|) |LNAGG-;insert;SAIA;5| (29 . |#|) (34 .
|maxIndex|) (|List| |$|))) (QUOTE #(|maxIndex| 39 |insert| 44 |indices| 51
|index?| 56 |concat| 62)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL))
(CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 23 (QUOTE (1 6 8 0 9 1
6 8 0 10 2 6 0 15 7 16 2 6 0 0 0 17 3 6 0 0 0 8 20 1 6 15 0 22 1 0 8 0 23 1 0 8
0 23 3 0 0 7 0 8 21 1 0 11 0 12 2 0 13 8 0 14 2 0 0 0 7 18 2 0 0 7 0 19))))))
(QUOTE |lookupComplete|)))
+(DEFUN |LNAGG-;indices;AL;1| (|a| |$|)
+ (PROG (#1=#:G85833 |i| #2=#:G85834)
+ (RETURN
+ (SEQ
+ (PROGN
+ (LETT #1# NIL |LNAGG-;indices;AL;1|)
+ (SEQ
+ (LETT |i| (SPADCALL |a| (QREFELT |$| 9)) |LNAGG-;indices;AL;1|)
+ (LETT #2# (SPADCALL |a| (QREFELT |$| 10)) |LNAGG-;indices;AL;1|)
+ G190
+ (COND ((|>| |i| #2#) (GO G191)))
+ (SEQ (EXIT (LETT #1# (CONS |i| #1#) |LNAGG-;indices;AL;1|)))
+ (LETT |i| (|+| |i| 1) |LNAGG-;indices;AL;1|)
+ (GO G190)
+ G191
+ (EXIT (NREVERSE0 #1#))))))))
+
+(DEFUN |LNAGG-;index?;IAB;2| (|i| |a| |$|)
+ (COND
+ ((OR
+ (|<| |i| (SPADCALL |a| (QREFELT |$| 9)))
+ (|<| (SPADCALL |a| (QREFELT |$| 10)) |i|))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+
+(DEFUN |LNAGG-;concat;ASA;3| (|a| |x| |$|)
+ (SPADCALL |a| (SPADCALL 1 |x| (QREFELT |$| 16)) (QREFELT |$| 17)))
+
+(DEFUN |LNAGG-;concat;S2A;4| (|x| |y| |$|)
+ (SPADCALL (SPADCALL 1 |x| (QREFELT |$| 16)) |y| (QREFELT |$| 17)))
+
+(DEFUN |LNAGG-;insert;SAIA;5| (|x| |a| |i| |$|)
+ (SPADCALL (SPADCALL 1 |x| (QREFELT |$| 16)) |a| |i| (QREFELT |$| 20)))
+
+(DEFUN |LNAGG-;maxIndex;AI;6| (|l| |$|)
+ (|+| (|-| (SPADCALL |l| (QREFELT |$| 22)) 1) (SPADCALL |l| (QREFELT |$| 9))))
+
+(DEFUN |LinearAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|LinearAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |LinearAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 25) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3
+ (LETT |pv$|
+ (|buildPredVector| 0 0
+ (LIST (|HasAttribute| |#1| (QUOTE |shallowlyMutable|))))
+ . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|HasAttribute| |#1| (QUOTE |finiteAggregate|))
+ (QSETREFV |$| 23
+ (CONS (|dispatchFunction| |LNAGG-;maxIndex;AI;6|) |$|))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |LinearAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|Integer|)
+ (0 . |minIndex|) (5 . |maxIndex|) (|List| 8) |LNAGG-;indices;AL;1|
+ (|Boolean|) |LNAGG-;index?;IAB;2| (|NonNegativeInteger|) (10 . |new|)
+ (16 . |concat|) |LNAGG-;concat;ASA;3| |LNAGG-;concat;S2A;4|
+ (22 . |insert|) |LNAGG-;insert;SAIA;5| (29 . |#|) (34 . |maxIndex|)
+ (|List| |$|)))
+ (QUOTE #(|maxIndex| 39 |insert| 44 |indices| 51 |index?| 56 |concat| 62))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 23 (QUOTE (1 6 8 0 9 1 6 8 0 10 2 6 0 15 7
+ 16 2 6 0 0 0 17 3 6 0 0 0 8 20 1 6 15 0 22 1 0 8 0 23 1 0 8 0 23 3 0
+ 0 7 0 8 21 1 0 11 0 12 2 0 13 8 0 14 2 0 0 0 7 18 2 0 0 7 0 19))))))
+ (QUOTE |lookupComplete|)))
@
\section{category LSAGG ListAggregate}
<<category LSAGG ListAggregate>>=
@@ -4232,9 +4837,41 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |ListAggregate;AL| (QUOTE NIL))
-(DEFUN |ListAggregate| (#1=#:G87500) (LET (#2=#:G87501) (COND ((SETQ #2#
(|assoc| (|devaluate| #1#) |ListAggregate;AL|)) (CDR #2#)) (T (SETQ
|ListAggregate;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2# (|ListAggregate;|
#1#))) |ListAggregate;AL|)) #2#))))
-
-(DEFUN |ListAggregate;| (|t#1|) (PROG (#1=#:G87499) (RETURN (PROG1 (LETT #1#
(|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND
(|ListAggregate;CAT|) ((QUOTE T) (LETT |ListAggregate;CAT| (|Join|
(|StreamAggregate| (QUOTE |t#1|)) (|FiniteLinearAggregate| (QUOTE |t#1|))
(|ExtensibleLinearAggregate| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|)
(QUOTE (((|list| (|$| |t#1|)) T))) NIL (QUOTE NIL) NIL)) .
#2=(|ListAggregate|))))) . #2#) (SETELT #1# 0 (LIST (QUOTE |ListAggregate|)
(|devaluate| |t#1|)))))))
+(DEFUN |ListAggregate| (#1=#:G87500)
+ (LET (#2=#:G87501)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |ListAggregate;AL|)) (CDR #2#))
+ (T
+ (SETQ |ListAggregate;AL|
+ (|cons5|
+ (CONS (|devaluate| #1#) (SETQ #2# (|ListAggregate;| #1#)))
+ |ListAggregate;AL|))
+ #2#))))
+
+(DEFUN |ListAggregate;| (|t#1|)
+ (PROG (#1=#:G87499)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|ListAggregate;CAT|)
+ ((QUOTE T)
+ (LETT |ListAggregate;CAT|
+ (|Join|
+ (|StreamAggregate| (QUOTE |t#1|))
+ (|FiniteLinearAggregate| (QUOTE |t#1|))
+ (|ExtensibleLinearAggregate| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (((|list| (|$| |t#1|)) T)))
+ NIL
+ (QUOTE NIL)
+ NIL))
+ . #2=(|ListAggregate|)))))
+ . #2#)
+ (SETELT #1# 0 (LIST (QUOTE |ListAggregate|) (|devaluate| |t#1|)))))))
@
\section{LSAGG-.lsp BOOTSTRAP}
{\bf LSAGG-} depends on {\bf LSAGG}. We need to break this cycle to build
@@ -4249,61 +4886,846 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |LSAGG-;sort!;M2A;1| (|f| |l| |$|) (|LSAGG-;mergeSort| |f| |l|
(SPADCALL |l| (QREFELT |$| 9)) |$|))
-
-(DEFUN |LSAGG-;list;SA;2| (|x| |$|) (SPADCALL |x| (SPADCALL (QREFELT |$| 12))
(QREFELT |$| 13)))
-
-(DEFUN |LSAGG-;reduce;MAS;3| (|f| |x| |$|) (COND ((SPADCALL |x| (QREFELT |$|
16)) (|error| "reducing over an empty list needs the 3 argument form")) ((QUOTE
T) (SPADCALL |f| (SPADCALL |x| (QREFELT |$| 17)) (SPADCALL |x| (QREFELT |$|
18)) (QREFELT |$| 20)))))
-
-(DEFUN |LSAGG-;merge;M3A;4| (|f| |p| |q| |$|) (SPADCALL |f| (SPADCALL |p|
(QREFELT |$| 22)) (SPADCALL |q| (QREFELT |$| 22)) (QREFELT |$| 23)))
-
-(DEFUN |LSAGG-;select!;M2A;5| (|f| |x| |$|) (PROG (|y| |z|) (RETURN (SEQ (SEQ
G190 (COND ((NULL (COND ((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL
(SPADCALL |x| (QREFELT |$| 18)) |f|)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO
G191))) (SEQ (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 17))
|LSAGG-;select!;M2A;5|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (COND ((SPADCALL
|x| (QREFELT |$| 16)) |x|) ((QUOTE T) (SEQ (LETT |y| |x|
|LSAGG-;select!;M2A;5|) (LETT |z| (SPADCALL |y| (QREFELT |$| 17))
|LSAGG-;select!;M2A;5|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |z| (QREFELT
|$| 16)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (EXIT (COND
((SPADCALL (SPADCALL |z| (QREFELT |$| 18)) |f|) (SEQ (LETT |y| |z|
|LSAGG-;select!;M2A;5|) (EXIT (LETT |z| (SPADCALL |z| (QREFELT |$| 17))
|LSAGG-;select!;M2A;5|)))) ((QUOTE T) (SEQ (LETT |z| (SPADCALL |z| (QREFELT |$|
17)) |LSAGG-;select!;M2A;5|) (EXIT (SPADCALL |y| |z| (QREFELT |$| 25))))))))
NIL (GO G190) G191 (EXIT NIL)) (EXIT |x|))))))))!
)
-
-(DEFUN |LSAGG-;merge!;M3A;6| (|f| |p| |q| |$|) (PROG (|r| |t|) (RETURN (SEQ
(COND ((SPADCALL |p| (QREFELT |$| 16)) |q|) ((SPADCALL |q| (QREFELT |$| 16))
|p|) ((SPADCALL |p| |q| (QREFELT |$| 28)) (|error| "cannot merge a list into
itself")) ((QUOTE T) (SEQ (COND ((SPADCALL (SPADCALL |p| (QREFELT |$| 18))
(SPADCALL |q| (QREFELT |$| 18)) |f|) (SEQ (LETT |r| (LETT |t| |p|
|LSAGG-;merge!;M3A;6|) |LSAGG-;merge!;M3A;6|) (EXIT (LETT |p| (SPADCALL |p|
(QREFELT |$| 17)) |LSAGG-;merge!;M3A;6|)))) ((QUOTE T) (SEQ (LETT |r| (LETT |t|
|q| |LSAGG-;merge!;M3A;6|) |LSAGG-;merge!;M3A;6|) (EXIT (LETT |q| (SPADCALL |q|
(QREFELT |$| 17)) |LSAGG-;merge!;M3A;6|))))) (SEQ G190 (COND ((NULL (COND ((OR
(SPADCALL |p| (QREFELT |$| 16)) (SPADCALL |q| (QREFELT |$| 16))) (QUOTE NIL))
((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (EXIT (COND ((SPADCALL (SPADCALL |p|
(QREFELT |$| 18)) (SPADCALL |q| (QREFELT |$| 18)) |f|) (SEQ (SPADCALL |t| |p|
(QREFELT |$| 25)) (LETT |t| |p| |LSAGG-;merge!;M3A;6|) (EXIT (LETT |!
p| (SPADCALL |p| (QREFELT |$| 17)) |LSAGG-;merge!;M3A;6|)))) ((QUOTE T) (SEQ
(SPADCALL |t| |q| (QREFELT |$| 25)) (LETT |t| |q| |LSAGG-;merge!;M3A;6|) (EXIT
(LETT |q| (SPADCALL |q| (QREFELT |$| 17)) |LSAGG-;merge!;M3A;6|))))))) NIL (GO
G190) G191 (EXIT NIL)) (SPADCALL |t| (COND ((SPADCALL |p| (QREFELT |$| 16))
|q|) ((QUOTE T) |p|)) (QREFELT |$| 25)) (EXIT |r|))))))))
-
-(DEFUN |LSAGG-;insert!;SAIA;7| (|s| |x| |i| |$|) (PROG (|m| #1=#:G87547 |y|
|z|) (RETURN (SEQ (LETT |m| (SPADCALL |x| (QREFELT |$| 31))
|LSAGG-;insert!;SAIA;7|) (EXIT (COND ((|<| |i| |m|) (|error| "index out of
range")) ((EQL |i| |m|) (SPADCALL |s| |x| (QREFELT |$| 13))) ((QUOTE T) (SEQ
(LETT |y| (SPADCALL |x| (PROG1 (LETT #1# (|-| (|-| |i| 1) |m|)
|LSAGG-;insert!;SAIA;7|) (|check-subtype| (|>=| #1# 0) (QUOTE
(|NonNegativeInteger|)) #1#)) (QREFELT |$| 32)) |LSAGG-;insert!;SAIA;7|) (LETT
|z| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;insert!;SAIA;7|) (SPADCALL |y|
(SPADCALL |s| |z| (QREFELT |$| 13)) (QREFELT |$| 25)) (EXIT |x|)))))))))
-
-(DEFUN |LSAGG-;insert!;2AIA;8| (|w| |x| |i| |$|) (PROG (|m| #1=#:G87551 |y|
|z|) (RETURN (SEQ (LETT |m| (SPADCALL |x| (QREFELT |$| 31))
|LSAGG-;insert!;2AIA;8|) (EXIT (COND ((|<| |i| |m|) (|error| "index out of
range")) ((EQL |i| |m|) (SPADCALL |w| |x| (QREFELT |$| 34))) ((QUOTE T) (SEQ
(LETT |y| (SPADCALL |x| (PROG1 (LETT #1# (|-| (|-| |i| 1) |m|)
|LSAGG-;insert!;2AIA;8|) (|check-subtype| (|>=| #1# 0) (QUOTE
(|NonNegativeInteger|)) #1#)) (QREFELT |$| 32)) |LSAGG-;insert!;2AIA;8|) (LETT
|z| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;insert!;2AIA;8|) (SPADCALL |y| |w|
(QREFELT |$| 25)) (SPADCALL |y| |z| (QREFELT |$| 34)) (EXIT |x|)))))))))
-
-(DEFUN |LSAGG-;remove!;M2A;9| (|f| |x| |$|) (PROG (|p| |q|) (RETURN (SEQ (SEQ
G190 (COND ((NULL (COND ((SPADCALL |x| (QREFELT |$| 16)) (QUOTE NIL)) ((QUOTE
T) (SPADCALL (SPADCALL |x| (QREFELT |$| 18)) |f|)))) (GO G191))) (SEQ (EXIT
(LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;remove!;M2A;9|))) NIL (GO
G190) G191 (EXIT NIL)) (EXIT (COND ((SPADCALL |x| (QREFELT |$| 16)) |x|)
((QUOTE T) (SEQ (LETT |p| |x| |LSAGG-;remove!;M2A;9|) (LETT |q| (SPADCALL |x|
(QREFELT |$| 17)) |LSAGG-;remove!;M2A;9|) (SEQ G190 (COND ((NULL (COND
((SPADCALL |q| (QREFELT |$| 16)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO
G191))) (SEQ (EXIT (COND ((SPADCALL (SPADCALL |q| (QREFELT |$| 18)) |f|) (LETT
|q| (SPADCALL |p| (SPADCALL |q| (QREFELT |$| 17)) (QREFELT |$| 25))
|LSAGG-;remove!;M2A;9|)) ((QUOTE T) (SEQ (LETT |p| |q| |LSAGG-;remove!;M2A;9|)
(EXIT (LETT |q| (SPADCALL |q| (QREFELT |$| 17)) |LSAGG-;remove!;M2A;9|)))))))
NIL (GO G190) G191 (EXIT NIL)) (EXIT |x|)))))))))
-
-(DEFUN |LSAGG-;delete!;AIA;10| (|x| |i| |$|) (PROG (|m| #1=#:G87564 |y|)
(RETURN (SEQ (LETT |m| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;delete!;AIA;10|)
(EXIT (COND ((|<| |i| |m|) (|error| "index out of range")) ((EQL |i| |m|)
(SPADCALL |x| (QREFELT |$| 17))) ((QUOTE T) (SEQ (LETT |y| (SPADCALL |x| (PROG1
(LETT #1# (|-| (|-| |i| 1) |m|) |LSAGG-;delete!;AIA;10|) (|check-subtype| (|>=|
#1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$| 32))
|LSAGG-;delete!;AIA;10|) (SPADCALL |y| (SPADCALL |y| 2 (QREFELT |$| 32))
(QREFELT |$| 25)) (EXIT |x|)))))))))
-
-(DEFUN |LSAGG-;delete!;AUsA;11| (|x| |i| |$|) (PROG (|l| |m| |h| #1=#:G87569
#2=#:G87570 |t| #3=#:G87571) (RETURN (SEQ (LETT |l| (SPADCALL |i| (QREFELT |$|
39)) |LSAGG-;delete!;AUsA;11|) (LETT |m| (SPADCALL |x| (QREFELT |$| 31))
|LSAGG-;delete!;AUsA;11|) (EXIT (COND ((|<| |l| |m|) (|error| "index out of
range")) ((QUOTE T) (SEQ (LETT |h| (COND ((SPADCALL |i| (QREFELT |$| 40))
(SPADCALL |i| (QREFELT |$| 41))) ((QUOTE T) (SPADCALL |x| (QREFELT |$| 42))))
|LSAGG-;delete!;AUsA;11|) (EXIT (COND ((|<| |h| |l|) |x|) ((EQL |l| |m|)
(SPADCALL |x| (PROG1 (LETT #1# (|-| (|+| |h| 1) |m|) |LSAGG-;delete!;AUsA;11|)
(|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$|
32))) ((QUOTE T) (SEQ (LETT |t| (SPADCALL |x| (PROG1 (LETT #2# (|-| (|-| |l| 1)
|m|) |LSAGG-;delete!;AUsA;11|) (|check-subtype| (|>=| #2# 0) (QUOTE
(|NonNegativeInteger|)) #2#)) (QREFELT |$| 32)) |LSAGG-;delete!;AUsA;11|)
(SPADCALL |t| (SPADCALL |t| (PROG1 (LETT #3# (|+| (|-| |h| |l|) 2) |LSAGG-;de!
lete!;AUsA;11|) (|check-subtype| (|>=| #3# 0) (QUOTE (|NonNegativeInteger|))
#3#)) (QREFELT |$| 32)) (QREFELT |$| 25)) (EXIT |x|)))))))))))))
-
-(DEFUN |LSAGG-;find;MAU;12| (|f| |x| |$|) (SEQ (SEQ G190 (COND ((NULL (COND
((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL (SPADCALL |x| (QREFELT |$| 18))
|f|)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (EXIT (LETT |x|
(SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;find;MAU;12|))) NIL (GO G190) G191
(EXIT NIL)) (EXIT (COND ((SPADCALL |x| (QREFELT |$| 16)) (CONS 1 "failed"))
((QUOTE T) (CONS 0 (SPADCALL |x| (QREFELT |$| 18))))))))
-
-(DEFUN |LSAGG-;position;MAI;13| (|f| |x| |$|) (PROG (|k|) (RETURN (SEQ (SEQ
(LETT |k| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;position;MAI;13|) G190 (COND
((NULL (COND ((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL (SPADCALL |x|
(QREFELT |$| 18)) |f|)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ
(EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;position;MAI;13|)))
(LETT |k| (|+| |k| 1) |LSAGG-;position;MAI;13|) (GO G190) G191 (EXIT NIL))
(EXIT (COND ((SPADCALL |x| (QREFELT |$| 16)) (|-| (SPADCALL |x| (QREFELT |$|
31)) 1)) ((QUOTE T) |k|)))))))
-
-(DEFUN |LSAGG-;mergeSort| (|f| |p| |n| |$|) (PROG (#1=#:G87593 |l| |q|)
(RETURN (SEQ (COND ((EQL |n| 2) (COND ((SPADCALL (SPADCALL (SPADCALL |p|
(QREFELT |$| 17)) (QREFELT |$| 18)) (SPADCALL |p| (QREFELT |$| 18)) |f|) (LETT
|p| (SPADCALL |p| (QREFELT |$| 47)) |LSAGG-;mergeSort|))))) (EXIT (COND ((|<|
|n| 3) |p|) ((QUOTE T) (SEQ (LETT |l| (PROG1 (LETT #1# (QUOTIENT2 |n| 2)
|LSAGG-;mergeSort|) (|check-subtype| (|>=| #1# 0) (QUOTE
(|NonNegativeInteger|)) #1#)) |LSAGG-;mergeSort|) (LETT |q| (SPADCALL |p| |l|
(QREFELT |$| 48)) |LSAGG-;mergeSort|) (LETT |p| (|LSAGG-;mergeSort| |f| |p| |l|
|$|) |LSAGG-;mergeSort|) (LETT |q| (|LSAGG-;mergeSort| |f| |q| (|-| |n| |l|)
|$|) |LSAGG-;mergeSort|) (EXIT (SPADCALL |f| |p| |q| (QREFELT |$| 23)))))))))))
-
-(DEFUN |LSAGG-;sorted?;MAB;15| (|f| |l| |$|) (PROG (#1=#:G87603 |p|) (RETURN
(SEQ (EXIT (COND ((SPADCALL |l| (QREFELT |$| 16)) (QUOTE T)) ((QUOTE T) (SEQ
(LETT |p| (SPADCALL |l| (QREFELT |$| 17)) |LSAGG-;sorted?;MAB;15|) (SEQ G190
(COND ((NULL (COND ((SPADCALL |p| (QREFELT |$| 16)) (QUOTE NIL)) ((QUOTE T)
(QUOTE T)))) (GO G191))) (SEQ (EXIT (COND ((NULL (SPADCALL (SPADCALL |l|
(QREFELT |$| 18)) (SPADCALL |p| (QREFELT |$| 18)) |f|)) (PROGN (LETT #1# (QUOTE
NIL) |LSAGG-;sorted?;MAB;15|) (GO #1#))) ((QUOTE T) (LETT |p| (SPADCALL (LETT
|l| |p| |LSAGG-;sorted?;MAB;15|) (QREFELT |$| 17)) |LSAGG-;sorted?;MAB;15|)))))
NIL (GO G190) G191 (EXIT NIL)) (EXIT (QUOTE T)))))) #1# (EXIT #1#)))))
-
-(DEFUN |LSAGG-;reduce;MA2S;16| (|f| |x| |i| |$|) (PROG (|r|) (RETURN (SEQ
(LETT |r| |i| |LSAGG-;reduce;MA2S;16|) (SEQ G190 (COND ((NULL (COND ((SPADCALL
|x| (QREFELT |$| 16)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ
(LETT |r| (SPADCALL |r| (SPADCALL |x| (QREFELT |$| 18)) |f|)
|LSAGG-;reduce;MA2S;16|) (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 17))
|LSAGG-;reduce;MA2S;16|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT |r|)))))
-
-(DEFUN |LSAGG-;reduce;MA3S;17| (|f| |x| |i| |a| |$|) (PROG (|r|) (RETURN (SEQ
(LETT |r| |i| |LSAGG-;reduce;MA3S;17|) (SEQ G190 (COND ((NULL (COND ((OR
(SPADCALL |x| (QREFELT |$| 16)) (SPADCALL |r| |a| (QREFELT |$| 51))) (QUOTE
NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |r| (SPADCALL |r|
(SPADCALL |x| (QREFELT |$| 18)) |f|) |LSAGG-;reduce;MA3S;17|) (EXIT (LETT |x|
(SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;reduce;MA3S;17|))) NIL (GO G190) G191
(EXIT NIL)) (EXIT |r|)))))
-
-(DEFUN |LSAGG-;new;NniSA;18| (|n| |s| |$|) (PROG (|k| |l|) (RETURN (SEQ (LETT
|l| (SPADCALL (QREFELT |$| 12)) |LSAGG-;new;NniSA;18|) (SEQ (LETT |k| 1
|LSAGG-;new;NniSA;18|) G190 (COND ((QSGREATERP |k| |n|) (GO G191))) (SEQ (EXIT
(LETT |l| (SPADCALL |s| |l| (QREFELT |$| 13)) |LSAGG-;new;NniSA;18|))) (LETT
|k| (QSADD1 |k|) |LSAGG-;new;NniSA;18|) (GO G190) G191 (EXIT NIL)) (EXIT
|l|)))))
-
-(DEFUN |LSAGG-;map;M3A;19| (|f| |x| |y| |$|) (PROG (|z|) (RETURN (SEQ (LETT
|z| (SPADCALL (QREFELT |$| 12)) |LSAGG-;map;M3A;19|) (SEQ G190 (COND ((NULL
(COND ((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL |y| (QREFELT |$| 16)))
(QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |z| (SPADCALL
(SPADCALL (SPADCALL |x| (QREFELT |$| 18)) (SPADCALL |y| (QREFELT |$| 18)) |f|)
|z| (QREFELT |$| 13)) |LSAGG-;map;M3A;19|) (LETT |x| (SPADCALL |x| (QREFELT |$|
17)) |LSAGG-;map;M3A;19|) (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 17))
|LSAGG-;map;M3A;19|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL |z|
(QREFELT |$| 47)))))))
-
-(DEFUN |LSAGG-;reverse!;2A;20| (|x| |$|) (PROG (|z| |y|) (RETURN (SEQ (COND
((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL (LETT |y| (SPADCALL |x| (QREFELT
|$| 17)) |LSAGG-;reverse!;2A;20|) (QREFELT |$| 16))) |x|) ((QUOTE T) (SEQ
(SPADCALL |x| (SPADCALL (QREFELT |$| 12)) (QREFELT |$| 25)) (SEQ G190 (COND
((NULL (COND ((SPADCALL |y| (QREFELT |$| 16)) (QUOTE NIL)) ((QUOTE T) (QUOTE
T)))) (GO G191))) (SEQ (LETT |z| (SPADCALL |y| (QREFELT |$| 17))
|LSAGG-;reverse!;2A;20|) (SPADCALL |y| |x| (QREFELT |$| 25)) (LETT |x| |y|
|LSAGG-;reverse!;2A;20|) (EXIT (LETT |y| |z| |LSAGG-;reverse!;2A;20|))) NIL (GO
G190) G191 (EXIT NIL)) (EXIT |x|))))))))
-
-(DEFUN |LSAGG-;copy;2A;21| (|x| |$|) (PROG (|k| |y|) (RETURN (SEQ (LETT |y|
(SPADCALL (QREFELT |$| 12)) |LSAGG-;copy;2A;21|) (SEQ (LETT |k| 0
|LSAGG-;copy;2A;21|) G190 (COND ((NULL (COND ((SPADCALL |x| (QREFELT |$| 16))
(QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (COND ((EQL |k| 1000)
(COND ((SPADCALL |x| (QREFELT |$| 56)) (EXIT (|error| "cyclic list")))))) (LETT
|y| (SPADCALL (SPADCALL |x| (QREFELT |$| 18)) |y| (QREFELT |$| 13))
|LSAGG-;copy;2A;21|) (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 17))
|LSAGG-;copy;2A;21|))) (LETT |k| (QSADD1 |k|) |LSAGG-;copy;2A;21|) (GO G190)
G191 (EXIT NIL)) (EXIT (SPADCALL |y| (QREFELT |$| 47)))))))
-
-(DEFUN |LSAGG-;copyInto!;2AIA;22| (|y| |x| |s| |$|) (PROG (|m| #1=#:G87636
|z|) (RETURN (SEQ (LETT |m| (SPADCALL |y| (QREFELT |$| 31))
|LSAGG-;copyInto!;2AIA;22|) (EXIT (COND ((|<| |s| |m|) (|error| "index out of
range")) ((QUOTE T) (SEQ (LETT |z| (SPADCALL |y| (PROG1 (LETT #1# (|-| |s| |m|)
|LSAGG-;copyInto!;2AIA;22|) (|check-subtype| (|>=| #1# 0) (QUOTE
(|NonNegativeInteger|)) #1#)) (QREFELT |$| 32)) |LSAGG-;copyInto!;2AIA;22|)
(SEQ G190 (COND ((NULL (COND ((OR (SPADCALL |z| (QREFELT |$| 16)) (SPADCALL |x|
(QREFELT |$| 16))) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ
(SPADCALL |z| (SPADCALL |x| (QREFELT |$| 18)) (QREFELT |$| 58)) (LETT |x|
(SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;copyInto!;2AIA;22|) (EXIT (LETT |z|
(SPADCALL |z| (QREFELT |$| 17)) |LSAGG-;copyInto!;2AIA;22|))) NIL (GO G190)
G191 (EXIT NIL)) (EXIT |y|)))))))))
-
-(DEFUN |LSAGG-;position;SA2I;23| (|w| |x| |s| |$|) (PROG (|m| #1=#:G87644 |k|)
(RETURN (SEQ (LETT |m| (SPADCALL |x| (QREFELT |$| 31))
|LSAGG-;position;SA2I;23|) (EXIT (COND ((|<| |s| |m|) (|error| "index out of
range")) ((QUOTE T) (SEQ (LETT |x| (SPADCALL |x| (PROG1 (LETT #1# (|-| |s| |m|)
|LSAGG-;position;SA2I;23|) (|check-subtype| (|>=| #1# 0) (QUOTE
(|NonNegativeInteger|)) #1#)) (QREFELT |$| 32)) |LSAGG-;position;SA2I;23|) (SEQ
(LETT |k| |s| |LSAGG-;position;SA2I;23|) G190 (COND ((NULL (COND ((OR (SPADCALL
|x| (QREFELT |$| 16)) (SPADCALL |w| (SPADCALL |x| (QREFELT |$| 18)) (QREFELT
|$| 51))) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (EXIT (LETT |x|
(SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;position;SA2I;23|))) (LETT |k| (|+| |k|
1) |LSAGG-;position;SA2I;23|) (GO G190) G191 (EXIT NIL)) (EXIT (COND ((SPADCALL
|x| (QREFELT |$| 16)) (|-| (SPADCALL |x| (QREFELT |$| 31)) 1)) ((QUOTE T)
|k|)))))))))))
-
-(DEFUN |LSAGG-;removeDuplicates!;2A;24| (|l| |$|) (PROG (|p|) (RETURN (SEQ
(LETT |p| |l| |LSAGG-;removeDuplicates!;2A;24|) (SEQ G190 (COND ((NULL (COND
((SPADCALL |p| (QREFELT |$| 16)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO
G191))) (SEQ (EXIT (LETT |p| (SPADCALL |p| (SPADCALL (CONS (FUNCTION
|LSAGG-;removeDuplicates!;2A;24!0|) (VECTOR |$| |p|)) (SPADCALL |p| (QREFELT
|$| 17)) (QREFELT |$| 61)) (QREFELT |$| 25))
|LSAGG-;removeDuplicates!;2A;24|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT
|l|)))))
-
-(DEFUN |LSAGG-;removeDuplicates!;2A;24!0| (|#1| |$$|) (PROG (|$|) (LETT |$|
(QREFELT |$$| 0) |LSAGG-;removeDuplicates!;2A;24|) (RETURN (PROGN (SPADCALL
|#1| (SPADCALL (QREFELT |$$| 1) (QREFELT |$| 18)) (QREFELT |$| 51))))))
-
-(DEFUN |LSAGG-;<;2AB;25| (|x| |y| |$|) (PROG (#1=#:G87662) (RETURN (SEQ (EXIT
(SEQ (SEQ G190 (COND ((NULL (COND ((OR (SPADCALL |x| (QREFELT |$| 16))
(SPADCALL |y| (QREFELT |$| 16))) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO
G191))) (SEQ (EXIT (COND ((NULL (SPADCALL (SPADCALL |x| (QREFELT |$| 18))
(SPADCALL |y| (QREFELT |$| 18)) (QREFELT |$| 51))) (PROGN (LETT #1# (SPADCALL
(SPADCALL |x| (QREFELT |$| 18)) (SPADCALL |y| (QREFELT |$| 18)) (QREFELT |$|
63)) |LSAGG-;<;2AB;25|) (GO #1#))) ((QUOTE T) (SEQ (LETT |x| (SPADCALL |x|
(QREFELT |$| 17)) |LSAGG-;<;2AB;25|) (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$|
17)) |LSAGG-;<;2AB;25|))))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (COND
((SPADCALL |x| (QREFELT |$| 16)) (COND ((SPADCALL |y| (QREFELT |$| 16)) (QUOTE
NIL)) ((QUOTE T) (QUOTE T)))) ((QUOTE T) (QUOTE NIL)))))) #1# (EXIT #1#)))))
-
-(DEFUN |ListAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
(RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|ListAggregate&|)) (LETT
|DV$2| (|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE |ListAggregate&|)
|DV$1| |DV$2|) . #1#) (LETT |$| (GETREFV 66) . #1#) (QSETREFV |$| 0 |dv$|)
(QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
(|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|) (COND
((|HasCategory| |#2| (QUOTE (|SetCategory|))) (QSETREFV |$| 52 (CONS
(|dispatchFunction| |LSAGG-;reduce;MA3S;17|) |$|)))) (COND ((|HasCategory| |#2|
(QUOTE (|SetCategory|))) (PROGN (QSETREFV |$| 60 (CONS (|dispatchFunction|
|LSAGG-;position;SA2I;23|) |$|)) (QSETREFV |$| 62 (CONS (|dispatchFunction|
|LSAGG-;removeDuplicates!;2A;24|) |$|))))) (COND ((|HasCategory| |#2| (QUOTE
(|OrderedSet|))) (QSETREFV |$| 64 (CONS (|dispatchFunction| |LSAGG-;<;2AB;25|)
|$|)))) |$|))))
-
-(MAKEPROP (QUOTE |ListAggregate&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL
NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|NonNegativeInteger|) (0 . |#|)
(|Mapping| 15 7 7) |LSAGG-;sort!;M2A;1| (5 . |empty|) (9 . |concat|)
|LSAGG-;list;SA;2| (|Boolean|) (15 . |empty?|) (20 . |rest|) (25 . |first|)
(|Mapping| 7 7 7) (30 . |reduce|) |LSAGG-;reduce;MAS;3| (37 . |copy|) (42 .
|merge!|) |LSAGG-;merge;M3A;4| (49 . |setrest!|) (|Mapping| 15 7)
|LSAGG-;select!;M2A;5| (55 . |eq?|) |LSAGG-;merge!;M3A;6| (|Integer|) (61 .
|minIndex|) (66 . |rest|) |LSAGG-;insert!;SAIA;7| (72 . |concat!|)
|LSAGG-;insert!;2AIA;8| |LSAGG-;remove!;M2A;9| |LSAGG-;delete!;AIA;10|
(|UniversalSegment| 30) (78 . |lo|) (83 . |hasHi|) (88 . |hi|) (93 .
|maxIndex|) |LSAGG-;delete!;AUsA;11| (|Union| 7 (QUOTE "failed"))
|LSAGG-;find;MAU;12| |LSAGG-;position;MAI;13| (98 . |reverse!|) (103 .
|split!|) |LSAGG-;sorted?;MAB;15| |LSAGG-;reduce;MA2S;16| (109 . |=|) (115 .
|reduce|) |LSAGG-;new;NniSA;18| |LSAGG-;map;M3A;1!
9| |LSAGG-;reverse!;2A;20| (123 . |cyclic?|) |LSAGG-;copy;2A;21| (128 .
|setfirst!|) |LSAGG-;copyInto!;2AIA;22| (134 . |position|) (141 . |remove!|)
(147 . |removeDuplicates!|) (152 . |<|) (158 . |<|) (|Mapping| 7 7))) (QUOTE
#(|sorted?| 164 |sort!| 170 |select!| 176 |reverse!| 182 |removeDuplicates!|
187 |remove!| 192 |reduce| 198 |position| 219 |new| 232 |merge!| 238 |merge|
245 |map| 252 |list| 259 |insert!| 264 |find| 278 |delete!| 284 |copyInto!| 296
|copy| 303 |<| 308)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS
(QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 64 (QUOTE (1 6 8 0 9 0 6 0 12
2 6 0 7 0 13 1 6 15 0 16 1 6 0 0 17 1 6 7 0 18 3 6 7 19 0 7 20 1 6 0 0 22 3 6 0
10 0 0 23 2 6 0 0 0 25 2 6 15 0 0 28 1 6 30 0 31 2 6 0 0 8 32 2 6 0 0 0 34 1 38
30 0 39 1 38 15 0 40 1 38 30 0 41 1 6 30 0 42 1 6 0 0 47 2 6 0 0 30 48 2 7 15 0
0 51 4 0 7 19 0 7 7 52 1 6 15 0 56 2 6 7 0 7 58 3 0 30 7 0 30 60 2 6 0 26 0 61
1 0 0 0 62 2 7 15 0 0 63 2 0 15 0 0 64 2 0 15 10 0!
49 2 0 0 10 0 11 2 0 0 26 0 27 1 0 0 0 55 1 0 0 0 62 2 0 0 2!
6 0 36 3 0 7 19 0 7 50 4 0 7 19 0 7 7 52 2 0 7 19 0 21 2 0 30 26 0 46 3 0 30 7
0 30 60 2 0 0 8 7 53 3 0 0 10 0 0 29 3 0 0 10 0 0 24 3 0 0 19 0 0 54 1 0 0 7 14
3 0 0 7 0 30 33 3 0 0 0 0 30 35 2 0 44 26 0 45 2 0 0 0 38 43 2 0 0 0 30 37 3 0
0 0 0 30 59 1 0 0 0 57 2 0 15 0 0 64)))))) (QUOTE |lookupComplete|)))
+(DEFUN |LSAGG-;sort!;M2A;1| (|f| |l| |$|)
+ (|LSAGG-;mergeSort| |f| |l| (SPADCALL |l| (QREFELT |$| 9)) |$|))
+
+(DEFUN |LSAGG-;list;SA;2| (|x| |$|)
+ (SPADCALL |x| (SPADCALL (QREFELT |$| 12)) (QREFELT |$| 13)))
+
+(DEFUN |LSAGG-;reduce;MAS;3| (|f| |x| |$|)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16))
+ (|error| "reducing over an empty list needs the 3 argument form"))
+ ((QUOTE T)
+ (SPADCALL |f|
+ (SPADCALL |x| (QREFELT |$| 17))
+ (SPADCALL |x| (QREFELT |$| 18))
+ (QREFELT |$| 20)))))
+
+(DEFUN |LSAGG-;merge;M3A;4| (|f| |p| |q| |$|)
+ (SPADCALL |f|
+ (SPADCALL |p| (QREFELT |$| 22))
+ (SPADCALL |q| (QREFELT |$| 22))
+ (QREFELT |$| 23)))
+
+(DEFUN |LSAGG-;select!;M2A;5| (|f| |x| |$|)
+ (PROG (|y| |z|)
+ (RETURN
+ (SEQ
+ (SEQ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 16))
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 18)) |f|))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;select!;M2A;5|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) |x|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |y| |x| |LSAGG-;select!;M2A;5|)
+ (LETT |z| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;select!;M2A;5|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |z| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL (SPADCALL |z| (QREFELT |$| 18)) |f|)
+ (SEQ
+ (LETT |y| |z| |LSAGG-;select!;M2A;5|)
+ (EXIT
+ (LETT |z|
+ (SPADCALL |z| (QREFELT |$| 17))
+ |LSAGG-;select!;M2A;5|))))
+ ((QUOTE T)
+ (SEQ
+ (LETT |z| (SPADCALL |z| (QREFELT |$| 17)) |LSAGG-;select!;M2A;5|)
+ (EXIT (SPADCALL |y| |z| (QREFELT |$| 25))))))))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|)))))))))
+
+(DEFUN |LSAGG-;merge!;M3A;6| (|f| |p| |q| |$|)
+ (PROG (|r| |t|)
+ (RETURN
+ (SEQ
+ (COND
+ ((SPADCALL |p| (QREFELT |$| 16)) |q|)
+ ((SPADCALL |q| (QREFELT |$| 16)) |p|)
+ ((SPADCALL |p| |q| (QREFELT |$| 28))
+ (|error| "cannot merge a list into itself"))
+ ((QUOTE T)
+ (SEQ
+ (COND
+ ((SPADCALL
+ (SPADCALL |p| (QREFELT |$| 18))
+ (SPADCALL |q| (QREFELT |$| 18))
+ |f|)
+ (SEQ
+ (LETT |r| (LETT |t| |p| |LSAGG-;merge!;M3A;6|) |LSAGG-;merge!;M3A;6|)
+ (EXIT
+ (LETT |p| (SPADCALL |p| (QREFELT |$| 17)) |LSAGG-;merge!;M3A;6|))))
+ ((QUOTE T)
+ (SEQ
+ (LETT |r| (LETT |t| |q| |LSAGG-;merge!;M3A;6|) |LSAGG-;merge!;M3A;6|)
+ (EXIT
+ (LETT |q| (SPADCALL |q| (QREFELT |$| 17)) |LSAGG-;merge!;M3A;6|)))))
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |p| (QREFELT |$| 16))
+ (SPADCALL |q| (QREFELT |$| 16)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL
+ (SPADCALL |p| (QREFELT |$| 18))
+ (SPADCALL |q| (QREFELT |$| 18))
+ |f|)
+ (SEQ
+ (SPADCALL |t| |p| (QREFELT |$| 25))
+ (LETT |t| |p| |LSAGG-;merge!;M3A;6|)
+ (EXIT
+ (LETT |p|
+ (SPADCALL |p| (QREFELT |$| 17))
+ |LSAGG-;merge!;M3A;6|))))
+ ((QUOTE T)
+ (SEQ
+ (SPADCALL |t| |q| (QREFELT |$| 25))
+ (LETT |t| |q| |LSAGG-;merge!;M3A;6|)
+ (EXIT
+ (LETT |q|
+ (SPADCALL |q| (QREFELT |$| 17))
+ |LSAGG-;merge!;M3A;6|)))))))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (SPADCALL |t|
+ (COND
+ ((SPADCALL |p| (QREFELT |$| 16)) |q|)
+ ((QUOTE T) |p|))
+ (QREFELT |$| 25))
+ (EXIT |r|))))))))
+
+(DEFUN |LSAGG-;insert!;SAIA;7| (|s| |x| |i| |$|)
+ (PROG (|m| #1=#:G87547 |y| |z|)
+ (RETURN
+ (SEQ
+ (LETT |m| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;insert!;SAIA;7|)
+ (EXIT
+ (COND
+ ((|<| |i| |m|) (|error| "index out of range"))
+ ((EQL |i| |m|) (SPADCALL |s| |x| (QREFELT |$| 13)))
+ ((QUOTE T)
+ (SEQ
+ (LETT |y|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# (|-| (|-| |i| 1) |m|) |LSAGG-;insert!;SAIA;7|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 32))
+ |LSAGG-;insert!;SAIA;7|)
+ (LETT |z| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;insert!;SAIA;7|)
+ (SPADCALL |y| (SPADCALL |s| |z| (QREFELT |$| 13)) (QREFELT |$| 25))
+ (EXIT |x|)))))))))
+
+(DEFUN |LSAGG-;insert!;2AIA;8| (|w| |x| |i| |$|)
+ (PROG (|m| #1=#:G87551 |y| |z|)
+ (RETURN
+ (SEQ
+ (LETT |m| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;insert!;2AIA;8|)
+ (EXIT
+ (COND
+ ((|<| |i| |m|) (|error| "index out of range"))
+ ((EQL |i| |m|) (SPADCALL |w| |x| (QREFELT |$| 34)))
+ ((QUOTE T)
+ (SEQ
+ (LETT |y|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# (|-| (|-| |i| 1) |m|) |LSAGG-;insert!;2AIA;8|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 32))
+ |LSAGG-;insert!;2AIA;8|)
+ (LETT |z| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;insert!;2AIA;8|)
+ (SPADCALL |y| |w| (QREFELT |$| 25))
+ (SPADCALL |y| |z| (QREFELT |$| 34))
+ (EXIT |x|)))))))))
+
+(DEFUN |LSAGG-;remove!;M2A;9| (|f| |x| |$|)
+ (PROG (|p| |q|)
+ (RETURN
+ (SEQ
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (SPADCALL (SPADCALL |x| (QREFELT |$| 18)) |f|))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;remove!;M2A;9|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) |x|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |p| |x| |LSAGG-;remove!;M2A;9|)
+ (LETT |q| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;remove!;M2A;9|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |q| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL (SPADCALL |q| (QREFELT |$| 18)) |f|)
+ (LETT |q|
+ (SPADCALL |p| (SPADCALL |q| (QREFELT |$| 17)) (QREFELT |$| 25))
+ |LSAGG-;remove!;M2A;9|))
+ ((QUOTE T)
+ (SEQ
+ (LETT |p| |q| |LSAGG-;remove!;M2A;9|)
+ (EXIT
+ (LETT |q|
+ (SPADCALL |q| (QREFELT |$| 17))
+ |LSAGG-;remove!;M2A;9|)))))))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|)))))))))
+
+(DEFUN |LSAGG-;delete!;AIA;10| (|x| |i| |$|)
+ (PROG (|m| #1=#:G87564 |y|)
+ (RETURN
+ (SEQ
+ (LETT |m| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;delete!;AIA;10|)
+ (EXIT
+ (COND
+ ((|<| |i| |m|) (|error| "index out of range"))
+ ((EQL |i| |m|) (SPADCALL |x| (QREFELT |$| 17)))
+ ((QUOTE T)
+ (SEQ
+ (LETT |y|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# (|-| (|-| |i| 1) |m|) |LSAGG-;delete!;AIA;10|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 32))
+ |LSAGG-;delete!;AIA;10|)
+ (SPADCALL |y| (SPADCALL |y| 2 (QREFELT |$| 32)) (QREFELT |$| 25))
+ (EXIT |x|)))))))))
+
+(DEFUN |LSAGG-;delete!;AUsA;11| (|x| |i| |$|)
+ (PROG (|l| |m| |h| #1=#:G87569 #2=#:G87570 |t| #3=#:G87571)
+ (RETURN
+ (SEQ
+ (LETT |l| (SPADCALL |i| (QREFELT |$| 39)) |LSAGG-;delete!;AUsA;11|)
+ (LETT |m| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;delete!;AUsA;11|)
+ (EXIT
+ (COND
+ ((|<| |l| |m|) (|error| "index out of range"))
+ ((QUOTE T)
+ (SEQ
+ (LETT |h|
+ (COND
+ ((SPADCALL |i| (QREFELT |$| 40)) (SPADCALL |i| (QREFELT |$| 41)))
+ ((QUOTE T) (SPADCALL |x| (QREFELT |$| 42))))
+ |LSAGG-;delete!;AUsA;11|)
+ (EXIT
+ (COND
+ ((|<| |h| |l|) |x|)
+ ((EQL |l| |m|)
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# (|-| (|+| |h| 1) |m|) |LSAGG-;delete!;AUsA;11|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 32)))
+ ((QUOTE T)
+ (SEQ
+ (LETT |t|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #2# (|-| (|-| |l| 1) |m|) |LSAGG-;delete!;AUsA;11|)
+ (|check-subtype| (|>=| #2# 0)
+ (QUOTE (|NonNegativeInteger|)) #2#))
+ (QREFELT |$| 32))
+ |LSAGG-;delete!;AUsA;11|)
+ (SPADCALL |t|
+ (SPADCALL |t|
+ (PROG1
+ (LETT #3# (|+| (|-| |h| |l|) 2) |LSAGG-;delete!;AUsA;11|)
+ (|check-subtype| (|>=| #3# 0)
+ (QUOTE (|NonNegativeInteger|)) #3#))
+ (QREFELT |$| 32))
+ (QREFELT |$| 25))
+ (EXIT |x|)))))))))))))
+
+(DEFUN |LSAGG-;find;MAU;12| (|f| |x| |$|)
+ (SEQ
+ (SEQ
+ G190
+ (COND ((NULL (COND ((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL (SPADCALL
|x| (QREFELT |$| 18)) |f|)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191)))
+ (SEQ (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;find;MAU;12|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) (CONS 1 "failed"))
+ ((QUOTE T) (CONS 0 (SPADCALL |x| (QREFELT |$| 18))))))))
+
+(DEFUN |LSAGG-;position;MAI;13| (|f| |x| |$|)
+ (PROG (|k|)
+ (RETURN
+ (SEQ
+ (SEQ
+ (LETT |k| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;position;MAI;13|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 16))
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 18)) |f|))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;position;MAI;13|)))
+ (LETT |k| (|+| |k| 1) |LSAGG-;position;MAI;13|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) (|-| (SPADCALL |x| (QREFELT |$| 31)) 1))
+ ((QUOTE T) |k|)))))))
+
+(DEFUN |LSAGG-;mergeSort| (|f| |p| |n| |$|)
+ (PROG (#1=#:G87593 |l| |q|)
+ (RETURN
+ (SEQ
+ (COND
+ ((EQL |n| 2)
+ (COND
+ ((SPADCALL
+ (SPADCALL (SPADCALL |p| (QREFELT |$| 17)) (QREFELT |$| 18))
+ (SPADCALL |p| (QREFELT |$| 18)) |f|)
+ (LETT |p| (SPADCALL |p| (QREFELT |$| 47)) |LSAGG-;mergeSort|)))))
+ (EXIT
+ (COND
+ ((|<| |n| 3) |p|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |l|
+ (PROG1
+ (LETT #1# (QUOTIENT2 |n| 2) |LSAGG-;mergeSort|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ |LSAGG-;mergeSort|)
+ (LETT |q| (SPADCALL |p| |l| (QREFELT |$| 48)) |LSAGG-;mergeSort|)
+ (LETT |p| (|LSAGG-;mergeSort| |f| |p| |l| |$|) |LSAGG-;mergeSort|)
+ (LETT |q|
+ (|LSAGG-;mergeSort| |f| |q| (|-| |n| |l|) |$|)
+ |LSAGG-;mergeSort|)
+ (EXIT (SPADCALL |f| |p| |q| (QREFELT |$| 23)))))))))))
+
+(DEFUN |LSAGG-;sorted?;MAB;15| (|f| |l| |$|)
+ (PROG (#1=#:G87603 |p|)
+ (RETURN
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 16)) (QUOTE T))
+ ((QUOTE T)
+ (SEQ
+ (LETT |p| (SPADCALL |l| (QREFELT |$| 17)) |LSAGG-;sorted?;MAB;15|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |p| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((NULL
+ (SPADCALL
+ (SPADCALL |l| (QREFELT |$| 18))
+ (SPADCALL |p| (QREFELT |$| 18))
+ |f|))
+ (PROGN (LETT #1# (QUOTE NIL) |LSAGG-;sorted?;MAB;15|) (GO #1#)))
+ ((QUOTE T)
+ (LETT |p|
+ (SPADCALL
+ (LETT |l| |p| |LSAGG-;sorted?;MAB;15|)
+ (QREFELT |$| 17))
+ |LSAGG-;sorted?;MAB;15|)))))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT (QUOTE T))))))
+ #1#
+ (EXIT #1#)))))
+
+(DEFUN |LSAGG-;reduce;MA2S;16| (|f| |x| |i| |$|)
+ (PROG (|r|)
+ (RETURN
+ (SEQ
+ (LETT |r| |i| |LSAGG-;reduce;MA2S;16|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |r|
+ (SPADCALL |r| (SPADCALL |x| (QREFELT |$| 18)) |f|)
+ |LSAGG-;reduce;MA2S;16|)
+ (EXIT
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;reduce;MA2S;16|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |r|)))))
+
+(DEFUN |LSAGG-;reduce;MA3S;17| (|f| |x| |i| |a| |$|)
+ (PROG (|r|)
+ (RETURN
+ (SEQ
+ (LETT |r| |i| |LSAGG-;reduce;MA3S;17|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 16))
+ (SPADCALL |r| |a| (QREFELT |$| 51)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T)))) (GO G191)))
+ (SEQ
+ (LETT |r|
+ (SPADCALL |r| (SPADCALL |x| (QREFELT |$| 18)) |f|)
+ |LSAGG-;reduce;MA3S;17|)
+ (EXIT
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;reduce;MA3S;17|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |r|)))))
+
+(DEFUN |LSAGG-;new;NniSA;18| (|n| |s| |$|)
+ (PROG (|k| |l|)
+ (RETURN
+ (SEQ
+ (LETT |l| (SPADCALL (QREFELT |$| 12)) |LSAGG-;new;NniSA;18|)
+ (SEQ
+ (LETT |k| 1 |LSAGG-;new;NniSA;18|)
+ G190
+ (COND ((QSGREATERP |k| |n|) (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |l| (SPADCALL |s| |l| (QREFELT |$| 13)) |LSAGG-;new;NniSA;18|)))
+ (LETT |k| (QSADD1 |k|) |LSAGG-;new;NniSA;18|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |l|)))))
+
+(DEFUN |LSAGG-;map;M3A;19| (|f| |x| |y| |$|)
+ (PROG (|z|)
+ (RETURN
+ (SEQ
+ (LETT |z| (SPADCALL (QREFELT |$| 12)) |LSAGG-;map;M3A;19|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR (SPADCALL |x| (QREFELT |$| 16)) (SPADCALL |y| (QREFELT |$| 16)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |z|
+ (SPADCALL
+ (SPADCALL
+ (SPADCALL |x| (QREFELT |$| 18))
+ (SPADCALL |y| (QREFELT |$| 18))
+ |f|)
+ |z|
+ (QREFELT |$| 13))
+ |LSAGG-;map;M3A;19|)
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;map;M3A;19|)
+ (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;map;M3A;19|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT (SPADCALL |z| (QREFELT |$| 47)))))))
+
+(DEFUN |LSAGG-;reverse!;2A;20| (|x| |$|)
+ (PROG (|z| |y|)
+ (RETURN
+ (SEQ
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 16))
+ (SPADCALL
+ (LETT |y| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;reverse!;2A;20|)
+ (QREFELT |$| 16)))
+ |x|)
+ ((QUOTE T)
+ (SEQ
+ (SPADCALL |x| (SPADCALL (QREFELT |$| 12)) (QREFELT |$| 25))
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |y| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |z| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;reverse!;2A;20|)
+ (SPADCALL |y| |x| (QREFELT |$| 25))
+ (LETT |x| |y| |LSAGG-;reverse!;2A;20|)
+ (EXIT (LETT |y| |z| |LSAGG-;reverse!;2A;20|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|))))))))
+
+(DEFUN |LSAGG-;copy;2A;21| (|x| |$|)
+ (PROG (|k| |y|)
+ (RETURN
+ (SEQ
+ (LETT |y| (SPADCALL (QREFELT |$| 12)) |LSAGG-;copy;2A;21|)
+ (SEQ
+ (LETT |k| 0 |LSAGG-;copy;2A;21|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (COND
+ ((EQL |k| 1000)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 56)) (EXIT (|error| "cyclic list"))))))
+ (LETT |y|
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 18)) |y| (QREFELT |$| 13))
+ |LSAGG-;copy;2A;21|)
+ (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;copy;2A;21|)))
+ (LETT |k| (QSADD1 |k|) |LSAGG-;copy;2A;21|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT (SPADCALL |y| (QREFELT |$| 47)))))))
+
+(DEFUN |LSAGG-;copyInto!;2AIA;22| (|y| |x| |s| |$|)
+ (PROG (|m| #1=#:G87636 |z|)
+ (RETURN
+ (SEQ
+ (LETT |m| (SPADCALL |y| (QREFELT |$| 31)) |LSAGG-;copyInto!;2AIA;22|)
+ (EXIT
+ (COND
+ ((|<| |s| |m|) (|error| "index out of range"))
+ ((QUOTE T)
+ (SEQ
+ (LETT |z|
+ (SPADCALL |y|
+ (PROG1
+ (LETT #1# (|-| |s| |m|) |LSAGG-;copyInto!;2AIA;22|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 32))
+ |LSAGG-;copyInto!;2AIA;22|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |z| (QREFELT |$| 16))
+ (SPADCALL |x| (QREFELT |$| 16)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (SPADCALL |z| (SPADCALL |x| (QREFELT |$| 18)) (QREFELT |$| 58))
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;copyInto!;2AIA;22|)
+ (EXIT
+ (LETT |z|
+ (SPADCALL |z| (QREFELT |$| 17))
+ |LSAGG-;copyInto!;2AIA;22|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |y|)))))))))
+
+(DEFUN |LSAGG-;position;SA2I;23| (|w| |x| |s| |$|)
+ (PROG (|m| #1=#:G87644 |k|)
+ (RETURN
+ (SEQ
+ (LETT |m| (SPADCALL |x| (QREFELT |$| 31)) |LSAGG-;position;SA2I;23|)
+ (EXIT
+ (COND
+ ((|<| |s| |m|) (|error| "index out of range"))
+ ((QUOTE T)
+ (SEQ
+ (LETT |x|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# (|-| |s| |m|) |LSAGG-;position;SA2I;23|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 32))
+ |LSAGG-;position;SA2I;23|)
+ (SEQ
+ (LETT |k| |s| |LSAGG-;position;SA2I;23|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 16))
+ (SPADCALL |w| (SPADCALL |x| (QREFELT |$| 18)) (QREFELT |$| 51)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |x|
+ (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;position;SA2I;23|)))
+ (LETT |k| (|+| |k| 1) |LSAGG-;position;SA2I;23|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16))
+ (|-| (SPADCALL |x| (QREFELT |$| 31)) 1))
+ ((QUOTE T) |k|)))))))))))
+
+(DEFUN |LSAGG-;removeDuplicates!;2A;24| (|l| |$|)
+ (PROG (|p|)
+ (RETURN
+ (SEQ
+ (LETT |p| |l| |LSAGG-;removeDuplicates!;2A;24|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |p| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |p|
+ (SPADCALL |p|
+ (SPADCALL
+ (CONS
+ (FUNCTION |LSAGG-;removeDuplicates!;2A;24!0|)
+ (VECTOR |$| |p|))
+ (SPADCALL |p| (QREFELT |$| 17))
+ (QREFELT |$| 61))
+ (QREFELT |$| 25))
+ |LSAGG-;removeDuplicates!;2A;24|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |l|)))))
+
+(DEFUN |LSAGG-;removeDuplicates!;2A;24!0| (|#1| |$$|)
+ (PROG (|$|)
+ (LETT |$| (QREFELT |$$| 0) |LSAGG-;removeDuplicates!;2A;24|)
+ (RETURN
+ (PROGN
+ (SPADCALL |#1|
+ (SPADCALL (QREFELT |$$| 1) (QREFELT |$| 18))
+ (QREFELT |$| 51))))))
+
+(DEFUN |LSAGG-;<;2AB;25| (|x| |y| |$|)
+ (PROG (#1=#:G87662)
+ (RETURN
+ (SEQ
+ (EXIT
+ (SEQ
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 16))
+ (SPADCALL |y| (QREFELT |$| 16)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((NULL
+ (SPADCALL
+ (SPADCALL |x| (QREFELT |$| 18))
+ (SPADCALL |y| (QREFELT |$| 18))
+ (QREFELT |$| 51)))
+ (PROGN
+ (LETT #1#
+ (SPADCALL
+ (SPADCALL |x| (QREFELT |$| 18))
+ (SPADCALL |y| (QREFELT |$| 18))
+ (QREFELT |$| 63))
+ |LSAGG-;<;2AB;25|)
+ (GO #1#)))
+ ((QUOTE T)
+ (SEQ
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 17)) |LSAGG-;<;2AB;25|)
+ (EXIT
+ (LETT |y| (SPADCALL |y| (QREFELT |$| 17)) |LSAGG-;<;2AB;25|)))))))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 16))
+ (COND
+ ((SPADCALL |y| (QREFELT |$| 16)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ ((QUOTE T) (QUOTE NIL))))))
+ #1#
+ (EXIT #1#)))))
+
+(DEFUN |ListAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|ListAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |ListAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 66) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|HasCategory| |#2| (QUOTE (|SetCategory|)))
+ (QSETREFV |$| 52
+ (CONS (|dispatchFunction| |LSAGG-;reduce;MA3S;17|) |$|))))
+ (COND
+ ((|HasCategory| |#2| (QUOTE (|SetCategory|)))
+ (PROGN
+ (QSETREFV |$| 60
+ (CONS (|dispatchFunction| |LSAGG-;position;SA2I;23|) |$|))
+ (QSETREFV |$| 62
+ (CONS (|dispatchFunction| |LSAGG-;removeDuplicates!;2A;24|) |$|)))))
+ (COND
+ ((|HasCategory| |#2| (QUOTE (|OrderedSet|)))
+ (QSETREFV |$| 64 (CONS (|dispatchFunction| |LSAGG-;<;2AB;25|) |$|))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |ListAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
+ (|NonNegativeInteger|) (0 . |#|) (|Mapping| 15 7 7) |LSAGG-;sort!;M2A;1|
+ (5 . |empty|) (9 . |concat|) |LSAGG-;list;SA;2| (|Boolean|)
+ (15 . |empty?|) (20 . |rest|) (25 . |first|) (|Mapping| 7 7 7)
+ (30 . |reduce|) |LSAGG-;reduce;MAS;3| (37 . |copy|) (42 . |merge!|)
+ |LSAGG-;merge;M3A;4| (49 . |setrest!|) (|Mapping| 15 7)
+ |LSAGG-;select!;M2A;5| (55 . |eq?|) |LSAGG-;merge!;M3A;6|
+ (|Integer|) (61 . |minIndex|) (66 . |rest|) |LSAGG-;insert!;SAIA;7|
+ (72 . |concat!|) |LSAGG-;insert!;2AIA;8| |LSAGG-;remove!;M2A;9|
+ |LSAGG-;delete!;AIA;10| (|UniversalSegment| 30) (78 . |lo|)
+ (83 . |hasHi|) (88 . |hi|) (93 . |maxIndex|) |LSAGG-;delete!;AUsA;11|
+ (|Union| 7 (QUOTE "failed")) |LSAGG-;find;MAU;12|
+ |LSAGG-;position;MAI;13| (98 . |reverse!|) (103 . |split!|)
+ |LSAGG-;sorted?;MAB;15| |LSAGG-;reduce;MA2S;16| (109 . |=|)
+ (115 . |reduce|) |LSAGG-;new;NniSA;18| |LSAGG-;map;M3A;19|
+ |LSAGG-;reverse!;2A;20| (123 . |cyclic?|) |LSAGG-;copy;2A;21|
+ (128 . |setfirst!|) |LSAGG-;copyInto!;2AIA;22| (134 . |position|)
+ (141 . |remove!|) (147 . |removeDuplicates!|) (152 . |<|) (158 . |<|)
+ (|Mapping| 7 7)))
+ (QUOTE #(|sorted?| 164 |sort!| 170 |select!| 176 |reverse!| 182
+ |removeDuplicates!| 187 |remove!| 192 |reduce| 198 |position| 219
+ |new| 232 |merge!| 238 |merge| 245 |map| 252 |list| 259 |insert!|
+ 264 |find| 278 |delete!| 284 |copyInto!| 296 |copy| 303 |<| 308))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 64 (QUOTE (1 6 8 0 9 0 6 0 12 2 6 0 7 0 13 1 6
+ 15 0 16 1 6 0 0 17 1 6 7 0 18 3 6 7 19 0 7 20 1 6 0 0 22 3 6 0 10
+ 0 0 23 2 6 0 0 0 25 2 6 15 0 0 28 1 6 30 0 31 2 6 0 0 8 32 2 6 0 0
+ 0 34 1 38 30 0 39 1 38 15 0 40 1 38 30 0 41 1 6 30 0 42 1 6 0 0 47
+ 2 6 0 0 30 48 2 7 15 0 0 51 4 0 7 19 0 7 7 52 1 6 15 0 56 2 6 7 0
+ 7 58 3 0 30 7 0 30 60 2 6 0 26 0 61 1 0 0 0 62 2 7 15 0 0 63 2 0 15
+ 0 0 64 2 0 15 10 0 49 2 0 0 10 0 11 2 0 0 26 0 27 1 0 0 0 55 1 0 0
+ 0 62 2 0 0 26 0 36 3 0 7 19 0 7 50 4 0 7 19 0 7 7 52 2 0 7 19 0 21
+ 2 0 30 26 0 46 3 0 30 7 0 30 60 2 0 0 8 7 53 3 0 0 10 0 0 29 3 0 0
+ 10 0 0 24 3 0 0 19 0 0 54 1 0 0 7 14 3 0 0 7 0 30 33 3 0 0 0 0 30
+ 35 2 0 44 26 0 45 2 0 0 0 38 43 2 0 0 0 30 37 3 0 0 0 0 30 59 1 0
+ 0 0 57 2 0 15 0 0 64))))))
+ (QUOTE |lookupComplete|)))
@
\section{category MDAGG MultiDictionary}
<<category MDAGG MultiDictionary>>=
@@ -4613,9 +6035,55 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |RecursiveAggregate;AL| (QUOTE NIL))
-(DEFUN |RecursiveAggregate| (#1=#:G84501) (LET (#2=#:G84502) (COND ((SETQ #2#
(|assoc| (|devaluate| #1#) |RecursiveAggregate;AL|)) (CDR #2#)) (T (SETQ
|RecursiveAggregate;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2#
(|RecursiveAggregate;| #1#))) |RecursiveAggregate;AL|)) #2#))))
-
-(DEFUN |RecursiveAggregate;| (|t#1|) (PROG (#1=#:G84500) (RETURN (PROG1 (LETT
#1# (|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND
(|RecursiveAggregate;CAT|) ((QUOTE T) (LETT |RecursiveAggregate;CAT| (|Join|
(|HomogeneousAggregate| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|) (QUOTE
(((|children| ((|List| |$|) |$|)) T) ((|nodes| ((|List| |$|) |$|)) T) ((|leaf?|
((|Boolean|) |$|)) T) ((|value| (|t#1| |$|)) T) ((|elt| (|t#1| |$| "value")) T)
((|cyclic?| ((|Boolean|) |$|)) T) ((|leaves| ((|List| |t#1|) |$|)) T)
((|distance| ((|Integer|) |$| |$|)) T) ((|child?| ((|Boolean|) |$| |$|)) (|has|
|t#1| (|SetCategory|))) ((|node?| ((|Boolean|) |$| |$|)) (|has| |t#1|
(|SetCategory|))) ((|setchildren!| (|$| |$| (|List| |$|))) (|has| |$|
(ATTRIBUTE |shallowlyMutable|))) ((|setelt| (|t#1| |$| "value" |t#1|)) (|has|
|$| (ATTRIBUTE |shallowlyMutable|))) ((|setvalue!| (|t#1| |$| |t#1|)) (|has|
|$| (ATTRIBUTE |shallowlyMutable|))))) NIL (QUOTE ((|List| |$|) (|Boolean|)
(|In!
teger|) (|List| |t#1|))) NIL)) . #2=(|RecursiveAggregate|))))) . #2#) (SETELT
#1# 0 (LIST (QUOTE |RecursiveAggregate|) (|devaluate| |t#1|)))))))
+(DEFUN |RecursiveAggregate| (#1=#:G84501)
+ (LET (#2=#:G84502)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |RecursiveAggregate;AL|)) (CDR #2#))
+ (T
+ (SETQ |RecursiveAggregate;AL|
+ (|cons5|
+ (CONS (|devaluate| #1#) (SETQ #2# (|RecursiveAggregate;| #1#)))
+ |RecursiveAggregate;AL|))
+ #2#))))
+
+(DEFUN |RecursiveAggregate;| (|t#1|)
+ (PROG (#1=#:G84500)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|RecursiveAggregate;CAT|)
+ ((QUOTE T)
+ (LETT |RecursiveAggregate;CAT|
+ (|Join|
+ (|HomogeneousAggregate| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|children| ((|List| |$|) |$|)) T)
+ ((|nodes| ((|List| |$|) |$|)) T)
+ ((|leaf?| ((|Boolean|) |$|)) T)
+ ((|value| (|t#1| |$|)) T)
+ ((|elt| (|t#1| |$| "value")) T)
+ ((|cyclic?| ((|Boolean|) |$|)) T)
+ ((|leaves| ((|List| |t#1|) |$|)) T)
+ ((|distance| ((|Integer|) |$| |$|)) T)
+ ((|child?| ((|Boolean|) |$| |$|)) (|has| |t#1| (|SetCategory|)))
+ ((|node?| ((|Boolean|) |$| |$|)) (|has| |t#1| (|SetCategory|)))
+ ((|setchildren!| (|$| |$| (|List| |$|)))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setelt| (|t#1| |$| "value" |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setvalue!| (|t#1| |$| |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))))
+ NIL
+ (QUOTE ((|List| |$|) (|Boolean|) (|Integer|) (|List| |t#1|)))
+ NIL))
+ . #2=(|RecursiveAggregate|)))))
+ . #2#)
+ (SETELT #1# 0 (LIST (QUOTE |RecursiveAggregate|) (|devaluate| |t#1|)))))))
@
\section{RCAGG-.lsp BOOTSTRAP}
{\bf RCAGG-} depends on {\bf RCAGG}. We need to break this cycle to build
@@ -4630,15 +6098,62 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |RCAGG-;elt;AvalueS;1| (|x| G84515 |$|) (SPADCALL |x| (QREFELT |$| 8)))
-
-(DEFUN |RCAGG-;setelt;Avalue2S;2| (|x| G84517 |y| |$|) (SPADCALL |x| |y|
(QREFELT |$| 11)))
-
-(DEFUN |RCAGG-;child?;2AB;3| (|x| |l| |$|) (SPADCALL |x| (SPADCALL |l|
(QREFELT |$| 14)) (QREFELT |$| 17)))
-
-(DEFUN |RecursiveAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
(RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|RecursiveAggregate&|))
(LETT |DV$2| (|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE
|RecursiveAggregate&|) |DV$1| |DV$2|) . #1#) (LETT |$| (GETREFV 19) . #1#)
(QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST
(|HasAttribute| |#1| (QUOTE |shallowlyMutable|)) (|HasCategory| |#2| (QUOTE
(|SetCategory|))))) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|)
(QSETREFV |$| 7 |#2|) (COND ((|testBitVector| |pv$| 1) (QSETREFV |$| 12 (CONS
(|dispatchFunction| |RCAGG-;setelt;Avalue2S;2|) |$|)))) (COND ((|testBitVector|
|pv$| 2) (QSETREFV |$| 18 (CONS (|dispatchFunction| |RCAGG-;child?;2AB;3|)
|$|)))) |$|))))
-
-(MAKEPROP (QUOTE |RecursiveAggregate&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL
NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (0 . |value|) (QUOTE "value")
|RCAGG-;elt;AvalueS;1| (5 . |setvalue!|) (11 . |setelt|) (|List| |$|) (18 .
|children|) (|Boolean|) (|List| 6) (23 . |member?|) (29 . |child?|))) (QUOTE
#(|setelt| 35 |elt| 42 |child?| 48)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1
(QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 18 (QUOTE
(1 6 7 0 8 2 6 7 0 7 11 3 0 7 0 9 7 12 1 6 13 0 14 2 16 15 6 0 17 2 0 15 0 0 18
3 0 7 0 9 7 12 2 0 7 0 9 10 2 0 15 0 0 18)))))) (QUOTE |lookupComplete|)))
+(DEFUN |RCAGG-;elt;AvalueS;1| (|x| G84515 |$|)
+ (SPADCALL |x| (QREFELT |$| 8)))
+
+(DEFUN |RCAGG-;setelt;Avalue2S;2| (|x| G84517 |y| |$|)
+ (SPADCALL |x| |y| (QREFELT |$| 11)))
+
+(DEFUN |RCAGG-;child?;2AB;3| (|x| |l| |$|)
+ (SPADCALL |x| (SPADCALL |l| (QREFELT |$| 14)) (QREFELT |$| 17)))
+
+(DEFUN |RecursiveAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|RecursiveAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |RecursiveAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 19) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3
+ (LETT |pv$|
+ (|buildPredVector| 0 0
+ (LIST
+ (|HasAttribute| |#1| (QUOTE |shallowlyMutable|))
+ (|HasCategory| |#2| (QUOTE (|SetCategory|)))))
+ . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|testBitVector| |pv$| 1)
+ (QSETREFV |$| 12
+ (CONS (|dispatchFunction| |RCAGG-;setelt;Avalue2S;2|) |$|))))
+ (COND
+ ((|testBitVector| |pv$| 2)
+ (QSETREFV |$| 18 (CONS (|dispatchFunction| |RCAGG-;child?;2AB;3|) |$|))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |RecursiveAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
+ (0 . |value|) (QUOTE "value") |RCAGG-;elt;AvalueS;1| (5 . |setvalue!|)
+ (11 . |setelt|) (|List| |$|) (18 . |children|) (|Boolean|) (|List| 6)
+ (23 . |member?|) (29 . |child?|)))
+ (QUOTE #(|setelt| 35 |elt| 42 |child?| 48))
+ (QUOTE NIL)
+ (CONS (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 18 (QUOTE (1 6 7 0 8 2 6 7 0 7 11 3 0 7 0 9 7 12
+ 1 6 13 0 14 2 16 15 6 0 17 2 0 15 0 0 18 3 0 7 0 9 7 12 2 0 7 0 9
+ 10 2 0 15 0 0 18))))))
+ (QUOTE |lookupComplete|)))
@
\section{category SETAGG SetAggregate}
<<category SETAGG SetAggregate>>=
@@ -4698,7 +6213,8 @@ SetAggregate(S:SetCategory):
++ are members of set aggregate u or set aggregate v but not both.
++ If u and v have no elements in common, \axiom{symmetricDifference(u,v)}
++ returns a copy of u.
- ++ Note: \axiom{symmetricDifference(u,v) =
union(difference(u,v),difference(v,u))}
+ ++ Note: \axiom{symmetricDifference(u,v) =
+ ++ union(difference(u,v),difference(v,u))}
subset? : (%, %) -> Boolean
++ subset?(u,v) tests if u is a subset of v.
++ Note: equivalent to
@@ -4749,9 +6265,53 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |SetAggregate;AL| (QUOTE NIL))
-(DEFUN |SetAggregate| (#1=#:G83200) (LET (#2=#:G83201) (COND ((SETQ #2#
(|assoc| (|devaluate| #1#) |SetAggregate;AL|)) (CDR #2#)) (T (SETQ
|SetAggregate;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2# (|SetAggregate;|
#1#))) |SetAggregate;AL|)) #2#))))
-
-(DEFUN |SetAggregate;| (|t#1|) (PROG (#1=#:G83199) (RETURN (PROG1 (LETT #1#
(|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND
(|SetAggregate;CAT|) ((QUOTE T) (LETT |SetAggregate;CAT| (|Join|
(|SetCategory|) (|Collection| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|)
(QUOTE (((|<| ((|Boolean|) |$| |$|)) T) ((|brace| (|$|)) T) ((|brace| (|$|
(|List| |t#1|))) T) ((|set| (|$|)) T) ((|set| (|$| (|List| |t#1|))) T)
((|intersect| (|$| |$| |$|)) T) ((|difference| (|$| |$| |$|)) T) ((|difference|
(|$| |$| |t#1|)) T) ((|symmetricDifference| (|$| |$| |$|)) T) ((|subset?|
((|Boolean|) |$| |$|)) T) ((|union| (|$| |$| |$|)) T) ((|union| (|$| |$|
|t#1|)) T) ((|union| (|$| |t#1| |$|)) T))) (QUOTE ((|partiallyOrderedSet| T)))
(QUOTE ((|Boolean|) (|List| |t#1|))) NIL)) . #2=(|SetAggregate|))))) . #2#)
(SETELT #1# 0 (LIST (QUOTE |SetAggregate|) (|devaluate| |t#1|)))))))
+(DEFUN |SetAggregate| (#1=#:G83200)
+ (LET (#2=#:G83201)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |SetAggregate;AL|)) (CDR #2#))
+ (T
+ (SETQ |SetAggregate;AL|
+ (|cons5|
+ (CONS (|devaluate| #1#) (SETQ #2# (|SetAggregate;| #1#)))
+ |SetAggregate;AL|))
+ #2#))))
+
+(DEFUN |SetAggregate;| (|t#1|)
+ (PROG (#1=#:G83199)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|SetAggregate;CAT|)
+ ((QUOTE T)
+ (LETT |SetAggregate;CAT|
+ (|Join|
+ (|SetCategory|)
+ (|Collection| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|<| ((|Boolean|) |$| |$|)) T)
+ ((|brace| (|$|)) T)
+ ((|brace| (|$| (|List| |t#1|))) T)
+ ((|set| (|$|)) T)
+ ((|set| (|$| (|List| |t#1|))) T)
+ ((|intersect| (|$| |$| |$|)) T)
+ ((|difference| (|$| |$| |$|)) T)
+ ((|difference| (|$| |$| |t#1|)) T)
+ ((|symmetricDifference| (|$| |$| |$|)) T)
+ ((|subset?| ((|Boolean|) |$| |$|)) T)
+ ((|union| (|$| |$| |$|)) T)
+ ((|union| (|$| |$| |t#1|)) T)
+ ((|union| (|$| |t#1| |$|)) T)))
+ (QUOTE ((|partiallyOrderedSet| T)))
+ (QUOTE ((|Boolean|) (|List| |t#1|)))
+ NIL))
+ . #2=(|SetAggregate|)))))
+ . #2#)
+ (SETELT #1# 0 (LIST (QUOTE |SetAggregate|) (|devaluate| |t#1|)))))))
@
\section{SETAGG-.lsp BOOTSTRAP}
{\bf SETAGG-} depends on {\bf SETAGG}. We need to break this cycle to build
@@ -4766,17 +6326,55 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |SETAGG-;symmetricDifference;3A;1| (|x| |y| |$|) (SPADCALL (SPADCALL
|x| |y| (QREFELT |$| 8)) (SPADCALL |y| |x| (QREFELT |$| 8)) (QREFELT |$| 9)))
-
-(DEFUN |SETAGG-;union;ASA;2| (|s| |x| |$|) (SPADCALL |s| (SPADCALL (LIST |x|)
(QREFELT |$| 12)) (QREFELT |$| 9)))
-
-(DEFUN |SETAGG-;union;S2A;3| (|x| |s| |$|) (SPADCALL |s| (SPADCALL (LIST |x|)
(QREFELT |$| 12)) (QREFELT |$| 9)))
-
-(DEFUN |SETAGG-;difference;ASA;4| (|s| |x| |$|) (SPADCALL |s| (SPADCALL (LIST
|x|) (QREFELT |$| 12)) (QREFELT |$| 8)))
-
-(DEFUN |SetAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
(RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|SetAggregate&|)) (LETT
|DV$2| (|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE |SetAggregate&|)
|DV$1| |DV$2|) . #1#) (LETT |$| (GETREFV 16) . #1#) (QSETREFV |$| 0 |dv$|)
(QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
(|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|) |$|))))
-
-(MAKEPROP (QUOTE |SetAggregate&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL
NIL NIL NIL (|local| |#1|) (|local| |#2|) (0 . |difference|) (6 . |union|)
|SETAGG-;symmetricDifference;3A;1| (|List| 7) (12 . |brace|)
|SETAGG-;union;ASA;2| |SETAGG-;union;S2A;3| |SETAGG-;difference;ASA;4|)) (QUOTE
#(|union| 17 |symmetricDifference| 29 |difference| 35)) (QUOTE NIL) (CONS
(|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #())
(|makeByteWordVec2| 15 (QUOTE (2 6 0 0 0 8 2 6 0 0 0 9 1 6 0 11 12 2 0 0 7 0 14
2 0 0 0 7 13 2 0 0 0 0 10 2 0 0 0 7 15)))))) (QUOTE |lookupComplete|)))
+(DEFUN |SETAGG-;symmetricDifference;3A;1| (|x| |y| |$|)
+ (SPADCALL
+ (SPADCALL |x| |y| (QREFELT |$| 8))
+ (SPADCALL |y| |x| (QREFELT |$| 8))
+ (QREFELT |$| 9)))
+
+(DEFUN |SETAGG-;union;ASA;2| (|s| |x| |$|)
+ (SPADCALL |s| (SPADCALL (LIST |x|) (QREFELT |$| 12)) (QREFELT |$| 9)))
+
+(DEFUN |SETAGG-;union;S2A;3| (|x| |s| |$|)
+ (SPADCALL |s| (SPADCALL (LIST |x|) (QREFELT |$| 12)) (QREFELT |$| 9)))
+
+(DEFUN |SETAGG-;difference;ASA;4| (|s| |x| |$|)
+ (SPADCALL |s| (SPADCALL (LIST |x|) (QREFELT |$| 12)) (QREFELT |$| 8)))
+
+(DEFUN |SetAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|SetAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |SetAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 16) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |SetAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
+ (0 . |difference|) (6 . |union|) |SETAGG-;symmetricDifference;3A;1|
+ (|List| 7) (12 . |brace|) |SETAGG-;union;ASA;2| |SETAGG-;union;S2A;3|
+ |SETAGG-;difference;ASA;4|))
+ (QUOTE #(|union| 17 |symmetricDifference| 29 |difference| 35))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 15 (QUOTE (2 6 0 0 0 8 2 6 0 0 0 9 1 6 0 11 12 2
+ 0 0 7 0 14 2 0 0 0 7 13 2 0 0 0 0 10 2 0 0 0 7 15))))))
+ (QUOTE |lookupComplete|)))
@
\section{category SKAGG StackAggregate}
<<category SKAGG StackAggregate>>=
@@ -4854,10 +6452,12 @@ StringAggregate: Category ==
OneDimensionalArrayAggregate Character with
++ in s by upper case characters.
prefix? : (%, %) -> Boolean
++ prefix?(s,t) tests if the string s is the initial substring of t.
- ++ Note: \axiom{prefix?(s,t) == reduce(and,[s.i = t.i for i in
0..maxIndex s])}.
+ ++ Note: \axiom{prefix?(s,t) ==
+ ++ reduce(and,[s.i = t.i for i in 0..maxIndex s])}.
suffix? : (%, %) -> Boolean
++ suffix?(s,t) tests if the string s is the final substring of t.
- ++ Note: \axiom{suffix?(s,t) == reduce(and,[s.i = t.(n - m + i) for i in
0..maxIndex s])}
+ ++ Note: \axiom{suffix?(s,t) ==
+ ++ reduce(and,[s.i = t.(n - m + i) for i in 0..maxIndex s])}
++ where m and n denote the maxIndex of s and t respectively.
substring?: (%, %, Integer) -> Boolean
++ substring?(s,t,i) tests if s is a substring of t beginning at
@@ -4877,7 +6477,8 @@ StringAggregate: Category == OneDimensionalArrayAggregate
Character with
++ multiple and consecutive occurrences of character c.
++ Typically c is the blank character.
replace : (%, UniversalSegment(Integer), %) -> %
- ++ replace(s,i..j,t) replaces the substring \axiom{s(i..j)} of s by
string t.
+ ++ replace(s,i..j,t) replaces the substring \axiom{s(i..j)}
+ ++ of s by string t.
position : (%, %, Integer) -> Integer
++ position(s,t,i) returns the position j of the substring s in string t,
++ where \axiom{j >= i} is required.
@@ -4890,7 +6491,8 @@ StringAggregate: Category == OneDimensionalArrayAggregate
Character with
split: (%, Character) -> List %
++ split(s,c) returns a list of substrings delimited by character c.
split: (%, CharacterClass) -> List %
- ++ split(s,cc) returns a list of substrings delimited by characters in
cc.
+ ++ split(s,cc) returns a list of substrings delimited by
+ ++ characters in cc.
trim: (%, Character) -> %
++ trim(s,c) returns s with all characters c deleted from right
@@ -4899,20 +6501,25 @@ StringAggregate: Category ==
OneDimensionalArrayAggregate Character with
trim: (%, CharacterClass) -> %
++ trim(s,cc) returns s with all characters in cc deleted from right
++ and left ends.
- ++ For example, \axiom{trim("(abc)", charClass "()")} returns
\axiom{"abc"}.
+ ++ For example, \axiom{trim("(abc)", charClass "()")}
+ ++ returns \axiom{"abc"}.
leftTrim: (%, Character) -> %
++ leftTrim(s,c) returns s with all leading characters c deleted.
- ++ For example, \axiom{leftTrim(" abc ", char " ")} returns
\axiom{"abc "}.
+ ++ For example, \axiom{leftTrim(" abc ", char " ")}
+ ++ returns \axiom{"abc "}.
leftTrim: (%, CharacterClass) -> %
++ leftTrim(s,cc) returns s with all leading characters in cc deleted.
- ++ For example, \axiom{leftTrim("(abc)", charClass "()")} returns
\axiom{"abc)"}.
+ ++ For example, \axiom{leftTrim("(abc)", charClass "()")}
+ ++ returns \axiom{"abc)"}.
rightTrim: (%, Character) -> %
++ rightTrim(s,c) returns s with all trailing occurrences of c deleted.
- ++ For example, \axiom{rightTrim(" abc ", char " ")} returns \axiom{"
abc"}.
+ ++ For example, \axiom{rightTrim(" abc ", char " ")}
+ ++ returns \axiom{" abc"}.
rightTrim: (%, CharacterClass) -> %
++ rightTrim(s,cc) returns s with all trailing occurences of
++ characters in cc deleted.
- ++ For example, \axiom{rightTrim("(abc)", charClass "()")} returns
\axiom{"(abc"}.
+ ++ For example, \axiom{rightTrim("(abc)", charClass "()")}
+ ++ returns \axiom{"(abc"}.
elt: (%, %) -> %
++ elt(s,t) returns the concatenation of s and t. It is provided to
++ allow juxtaposition of strings to work as concatenation.
@@ -4962,11 +6569,13 @@ StreamAggregate(S:Type): Category ==
explicitlyFinite?: % -> Boolean
++ explicitlyFinite?(s) tests if the stream has a finite
++ number of elements, and false otherwise.
- ++ Note: for many datatypes, \axiom{explicitlyFinite?(s) = not
possiblyInfinite?(s)}.
+ ++ Note: for many datatypes,
+ ++ \axiom{explicitlyFinite?(s) = not possiblyInfinite?(s)}.
possiblyInfinite?: % -> Boolean
++ possiblyInfinite?(s) tests if the stream s could possibly
++ have an infinite number of elements.
- ++ Note: for many datatypes, \axiom{possiblyInfinite?(s) = not
explictlyFinite?(s)}.
+ ++ Note: for many datatypes,
+ ++ \axiom{possiblyInfinite?(s) = not explictlyFinite?(s)}.
add
c2: (%, %) -> S
@@ -4980,7 +6589,8 @@ StreamAggregate(S:Type): Category ==
elt(x:%, i:Integer) ==
i := i - minIndex x
- (i < 0) or empty?(x := rest(x, i::NonNegativeInteger)) => error "index
out of range"
+ (i < 0) or empty?(x := rest(x, i::NonNegativeInteger)) => _
+ error "index out of range"
first x
elt(x:%, i:UniversalSegment(Integer)) ==
@@ -5011,7 +6621,8 @@ StreamAggregate(S:Type): Category ==
setelt(x:%, i:Integer, s:S) ==
i := i - minIndex x
- (i < 0) or empty?(x := rest(x,i::NonNegativeInteger)) => error "index
out of range"
+ (i < 0) or empty?(x := rest(x,i::NonNegativeInteger)) => _
+ error "index out of range"
setfirst_!(x, s)
setelt(x:%, i:UniversalSegment(Integer), s:S) ==
@@ -5058,9 +6669,42 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |StreamAggregate;AL| (QUOTE NIL))
-(DEFUN |StreamAggregate| (#1=#:G87035) (LET (#2=#:G87036) (COND ((SETQ #2#
(|assoc| (|devaluate| #1#) |StreamAggregate;AL|)) (CDR #2#)) (T (SETQ
|StreamAggregate;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2#
(|StreamAggregate;| #1#))) |StreamAggregate;AL|)) #2#))))
-
-(DEFUN |StreamAggregate;| (|t#1|) (PROG (#1=#:G87034) (RETURN (PROG1 (LETT #1#
(|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND
(|StreamAggregate;CAT|) ((QUOTE T) (LETT |StreamAggregate;CAT| (|Join|
(|UnaryRecursiveAggregate| (QUOTE |t#1|)) (|LinearAggregate| (QUOTE |t#1|))
(|mkCategory| (QUOTE |domain|) (QUOTE (((|explicitlyFinite?| ((|Boolean|) |$|))
T) ((|possiblyInfinite?| ((|Boolean|) |$|)) T))) NIL (QUOTE ((|Boolean|)))
NIL)) . #2=(|StreamAggregate|))))) . #2#) (SETELT #1# 0 (LIST (QUOTE
|StreamAggregate|) (|devaluate| |t#1|)))))))
+(DEFUN |StreamAggregate| (#1=#:G87035)
+ (LET (#2=#:G87036)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |StreamAggregate;AL|)) (CDR #2#))
+ (T
+ (SETQ |StreamAggregate;AL|
+ (|cons5|
+ (CONS (|devaluate| #1#) (SETQ #2# (|StreamAggregate;| #1#)))
+ |StreamAggregate;AL|))
+ #2#))))
+
+(DEFUN |StreamAggregate;| (|t#1|)
+ (PROG (#1=#:G87034)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|StreamAggregate;CAT|)
+ ((QUOTE T)
+ (LETT |StreamAggregate;CAT|
+ (|Join|
+ (|UnaryRecursiveAggregate| (QUOTE |t#1|))
+ (|LinearAggregate| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|explicitlyFinite?| ((|Boolean|) |$|)) T)
+ ((|possiblyInfinite?| ((|Boolean|) |$|)) T)))
+ NIL
+ (QUOTE ((|Boolean|)))
+ NIL))
+ . #2=(|StreamAggregate|)))))
+ . #2#)
+ (SETELT #1# 0 (LIST (QUOTE |StreamAggregate|) (|devaluate| |t#1|)))))))
@
\section{STAGG-.lsp BOOTSTRAP}
{\bf STAGG-} depends on {\bf STAGG}. We need to break this cycle to build
@@ -5075,35 +6719,312 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |STAGG-;explicitlyFinite?;AB;1| (|x| |$|) (COND ((SPADCALL |x| (QREFELT
|$| 9)) (QUOTE NIL)) ((QUOTE T) (QUOTE T))))
+(DEFUN |STAGG-;explicitlyFinite?;AB;1| (|x| |$|)
+ (COND ((SPADCALL |x| (QREFELT |$| 9)) (QUOTE NIL)) ((QUOTE T) (QUOTE T))))
-(DEFUN |STAGG-;possiblyInfinite?;AB;2| (|x| |$|) (SPADCALL |x| (QREFELT |$|
9)))
+(DEFUN |STAGG-;possiblyInfinite?;AB;2| (|x| |$|)
+ (SPADCALL |x| (QREFELT |$| 9)))
-(DEFUN |STAGG-;first;ANniA;3| (|x| |n| |$|) (PROG (#1=#:G87053 |i|) (RETURN
(SEQ (SPADCALL (PROGN (LETT #1# NIL |STAGG-;first;ANniA;3|) (SEQ (LETT |i| 1
|STAGG-;first;ANniA;3|) G190 (COND ((QSGREATERP |i| |n|) (GO G191))) (SEQ (EXIT
(LETT #1# (CONS (|STAGG-;c2| |x| (LETT |x| (SPADCALL |x| (QREFELT |$| 12))
|STAGG-;first;ANniA;3|) |$|) #1#) |STAGG-;first;ANniA;3|))) (LETT |i| (QSADD1
|i|) |STAGG-;first;ANniA;3|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (QREFELT
|$| 14))))))
-
-(DEFUN |STAGG-;c2| (|x| |r| |$|) (COND ((SPADCALL |x| (QREFELT |$| 17))
(|error| "Index out of range")) ((QUOTE T) (SPADCALL |x| (QREFELT |$| 18)))))
-
-(DEFUN |STAGG-;elt;AIS;5| (|x| |i| |$|) (PROG (#1=#:G87056) (RETURN (SEQ (LETT
|i| (|-| |i| (SPADCALL |x| (QREFELT |$| 20))) |STAGG-;elt;AIS;5|) (COND ((OR
(|<| |i| 0) (SPADCALL (LETT |x| (SPADCALL |x| (PROG1 (LETT #1# |i|
|STAGG-;elt;AIS;5|) (|check-subtype| (|>=| #1# 0) (QUOTE
(|NonNegativeInteger|)) #1#)) (QREFELT |$| 21)) |STAGG-;elt;AIS;5|) (QREFELT
|$| 17))) (EXIT (|error| "index out of range")))) (EXIT (SPADCALL |x| (QREFELT
|$| 18)))))))
-
-(DEFUN |STAGG-;elt;AUsA;6| (|x| |i| |$|) (PROG (|l| #1=#:G87060 |h|
#2=#:G87062 #3=#:G87063) (RETURN (SEQ (LETT |l| (|-| (SPADCALL |i| (QREFELT |$|
24)) (SPADCALL |x| (QREFELT |$| 20))) |STAGG-;elt;AUsA;6|) (EXIT (COND ((|<|
|l| 0) (|error| "index out of range")) ((NULL (SPADCALL |i| (QREFELT |$| 25)))
(SPADCALL (SPADCALL |x| (PROG1 (LETT #1# |l| |STAGG-;elt;AUsA;6|)
(|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$|
21)) (QREFELT |$| 26))) ((QUOTE T) (SEQ (LETT |h| (|-| (SPADCALL |i| (QREFELT
|$| 27)) (SPADCALL |x| (QREFELT |$| 20))) |STAGG-;elt;AUsA;6|) (EXIT (COND
((|<| |h| |l|) (SPADCALL (QREFELT |$| 28))) ((QUOTE T) (SPADCALL (SPADCALL |x|
(PROG1 (LETT #2# |l| |STAGG-;elt;AUsA;6|) (|check-subtype| (|>=| #2# 0) (QUOTE
(|NonNegativeInteger|)) #2#)) (QREFELT |$| 21)) (PROG1 (LETT #3# (|+| (|-| |h|
|l|) 1) |STAGG-;elt;AUsA;6|) (|check-subtype| (|>=| #3# 0) (QUOTE
(|NonNegativeInteger|)) #3#)) (QREFELT |$| 29)))))))))))))
-
-(DEFUN |STAGG-;concat;3A;7| (|x| |y| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$|
26)) |y| (QREFELT |$| 31)))
-
-(DEFUN |STAGG-;concat;LA;8| (|l| |$|) (COND ((NULL |l|) (SPADCALL (QREFELT |$|
28))) ((QUOTE T) (SPADCALL (SPADCALL (|SPADfirst| |l|) (QREFELT |$| 26))
(SPADCALL (CDR |l|) (QREFELT |$| 34)) (QREFELT |$| 31)))))
-
-(DEFUN |STAGG-;map!;M2A;9| (|f| |l| |$|) (PROG (|y|) (RETURN (SEQ (LETT |y|
|l| |STAGG-;map!;M2A;9|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |l| (QREFELT
|$| 17)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (SPADCALL |l|
(SPADCALL (SPADCALL |l| (QREFELT |$| 18)) |f|) (QREFELT |$| 36)) (EXIT (LETT
|l| (SPADCALL |l| (QREFELT |$| 12)) |STAGG-;map!;M2A;9|))) NIL (GO G190) G191
(EXIT NIL)) (EXIT |y|)))))
-
-(DEFUN |STAGG-;fill!;ASA;10| (|x| |s| |$|) (PROG (|y|) (RETURN (SEQ (LETT |y|
|x| |STAGG-;fill!;ASA;10|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |y| (QREFELT
|$| 17)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (SPADCALL |y|
|s| (QREFELT |$| 36)) (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 12))
|STAGG-;fill!;ASA;10|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT |x|)))))
-
-(DEFUN |STAGG-;setelt;AI2S;11| (|x| |i| |s| |$|) (PROG (#1=#:G87081) (RETURN
(SEQ (LETT |i| (|-| |i| (SPADCALL |x| (QREFELT |$| 20)))
|STAGG-;setelt;AI2S;11|) (COND ((OR (|<| |i| 0) (SPADCALL (LETT |x| (SPADCALL
|x| (PROG1 (LETT #1# |i| |STAGG-;setelt;AI2S;11|) (|check-subtype| (|>=| #1# 0)
(QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$| 21)) |STAGG-;setelt;AI2S;11|)
(QREFELT |$| 17))) (EXIT (|error| "index out of range")))) (EXIT (SPADCALL |x|
|s| (QREFELT |$| 36)))))))
-
-(DEFUN |STAGG-;setelt;AUs2S;12| (|x| |i| |s| |$|) (PROG (|l| |h| #1=#:G87086
#2=#:G87087 |z| |y|) (RETURN (SEQ (LETT |l| (|-| (SPADCALL |i| (QREFELT |$|
24)) (SPADCALL |x| (QREFELT |$| 20))) |STAGG-;setelt;AUs2S;12|) (EXIT (COND
((|<| |l| 0) (|error| "index out of range")) ((QUOTE T) (SEQ (LETT |h| (COND
((SPADCALL |i| (QREFELT |$| 25)) (|-| (SPADCALL |i| (QREFELT |$| 27)) (SPADCALL
|x| (QREFELT |$| 20)))) ((QUOTE T) (SPADCALL |x| (QREFELT |$| 41))))
|STAGG-;setelt;AUs2S;12|) (EXIT (COND ((|<| |h| |l|) |s|) ((QUOTE T) (SEQ (LETT
|y| (SPADCALL |x| (PROG1 (LETT #1# |l| |STAGG-;setelt;AUs2S;12|)
(|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$|
21)) |STAGG-;setelt;AUs2S;12|) (LETT |z| (SPADCALL |y| (PROG1 (LETT #2# (|+|
(|-| |h| |l|) 1) |STAGG-;setelt;AUs2S;12|) (|check-subtype| (|>=| #2# 0) (QUOTE
(|NonNegativeInteger|)) #2#)) (QREFELT |$| 21)) |STAGG-;setelt;AUs2S;12|) (SEQ
G190 (COND ((NULL (COND ((SPADCALL |y| |z| (QREFELT |$| 42)) (QUOTE NIL)!
) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (SPADCALL |y| |s| (QREFELT |$| 36))
(EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 12)) |STAGG-;setelt;AUs2S;12|))) NIL
(GO G190) G191 (EXIT NIL)) (EXIT |s|)))))))))))))
-
-(DEFUN |STAGG-;concat!;3A;13| (|x| |y| |$|) (SEQ (COND ((SPADCALL |x| (QREFELT
|$| 17)) |y|) ((QUOTE T) (SEQ (SPADCALL (SPADCALL |x| (QREFELT |$| 44)) |y|
(QREFELT |$| 45)) (EXIT |x|))))))
-
-(DEFUN |StreamAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
(RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|StreamAggregate&|)) (LETT
|DV$2| (|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE |StreamAggregate&|)
|DV$1| |DV$2|) . #1#) (LETT |$| (GETREFV 51) . #1#) (QSETREFV |$| 0 |dv$|)
(QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
(|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|) (COND
((|HasAttribute| |#1| (QUOTE |shallowlyMutable|)) (PROGN (QSETREFV |$| 32 (CONS
(|dispatchFunction| |STAGG-;concat;3A;7|) |$|)) (QSETREFV |$| 35 (CONS
(|dispatchFunction| |STAGG-;concat;LA;8|) |$|)) (QSETREFV |$| 38 (CONS
(|dispatchFunction| |STAGG-;map!;M2A;9|) |$|)) (QSETREFV |$| 39 (CONS
(|dispatchFunction| |STAGG-;fill!;ASA;10|) |$|)) (QSETREFV |$| 40 (CONS
(|dispatchFunction| |STAGG-;setelt;AI2S;11|) |$|)) (QSETREFV |$| 43 (CONS
(|dispatchFunction| |STAGG-;setelt;AUs2S;12|) |$|)) (QSETREFV |$| 46 (CONS
(|dispatchFunction| |STAGG-!
;concat!;3A;13|) |$|))))) |$|))))
-
-(MAKEPROP (QUOTE |StreamAggregate&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL
NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|Boolean|) (0 . |cyclic?|)
|STAGG-;explicitlyFinite?;AB;1| |STAGG-;possiblyInfinite?;AB;2| (5 . |rest|)
(|List| 7) (10 . |construct|) (|NonNegativeInteger|) |STAGG-;first;ANniA;3| (15
. |empty?|) (20 . |first|) (|Integer|) (25 . |minIndex|) (30 . |rest|)
|STAGG-;elt;AIS;5| (|UniversalSegment| 19) (36 . |lo|) (41 . |hasHi|) (46 .
|copy|) (51 . |hi|) (56 . |empty|) (60 . |first|) |STAGG-;elt;AUsA;6| (66 .
|concat!|) (72 . |concat|) (|List| |$|) (78 . |concat|) (83 . |concat|) (88 .
|setfirst!|) (|Mapping| 7 7) (94 . |map!|) (100 . |fill!|) (106 . |setelt|)
(113 . |maxIndex|) (118 . |eq?|) (124 . |setelt|) (131 . |tail|) (136 .
|setrest!|) (142 . |concat!|) (QUOTE "rest") (QUOTE "last") (QUOTE "first")
(QUOTE "value"))) (QUOTE #(|setelt| 148 |possiblyInfinite?| 162 |map!| 167
|first| 173 |fill!| 179 |explicitlyFinite?| 185 |elt| 190 |concat!| 202 |concat!
| 208)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #())
(CONS (QUOTE #()) (|makeByteWordVec2| 46 (QUOTE (1 6 8 0 9 1 6 0 0 12 1 6 0 13
14 1 6 8 0 17 1 6 7 0 18 1 6 19 0 20 2 6 0 0 15 21 1 23 19 0 24 1 23 8 0 25 1 6
0 0 26 1 23 19 0 27 0 6 0 28 2 6 0 0 15 29 2 6 0 0 0 31 2 0 0 0 0 32 1 6 0 33
34 1 0 0 33 35 2 6 7 0 7 36 2 0 0 37 0 38 2 0 0 0 7 39 3 0 7 0 19 7 40 1 6 19 0
41 2 6 8 0 0 42 3 0 7 0 23 7 43 1 6 0 0 44 2 6 0 0 0 45 2 0 0 0 0 46 3 0 7 0 19
7 40 3 0 7 0 23 7 43 1 0 8 0 11 2 0 0 37 0 38 2 0 0 0 15 16 2 0 0 0 7 39 1 0 8
0 10 2 0 7 0 19 22 2 0 0 0 23 30 2 0 0 0 0 46 1 0 0 33 35 2 0 0 0 0 32))))))
(QUOTE |lookupComplete|)))
+(DEFUN |STAGG-;first;ANniA;3| (|x| |n| |$|)
+ (PROG (#1=#:G87053 |i|)
+ (RETURN
+ (SEQ
+ (SPADCALL
+ (PROGN
+ (LETT #1# NIL |STAGG-;first;ANniA;3|)
+ (SEQ
+ (LETT |i| 1 |STAGG-;first;ANniA;3|)
+ G190
+ (COND ((QSGREATERP |i| |n|) (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT #1#
+ (CONS
+ (|STAGG-;c2| |x|
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 12)) |STAGG-;first;ANniA;3|)
+ |$|)
+ #1#)
+ |STAGG-;first;ANniA;3|)))
+ (LETT |i| (QSADD1 |i|) |STAGG-;first;ANniA;3|)
+ (GO G190)
+ G191
+ (EXIT (NREVERSE0 #1#))))
+ (QREFELT |$| 14))))))
+
+(DEFUN |STAGG-;c2| (|x| |r| |$|)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 17)) (|error| "Index out of range"))
+ ((QUOTE T) (SPADCALL |x| (QREFELT |$| 18)))))
+
+(DEFUN |STAGG-;elt;AIS;5| (|x| |i| |$|)
+ (PROG (#1=#:G87056)
+ (RETURN
+ (SEQ
+ (LETT |i| (|-| |i| (SPADCALL |x| (QREFELT |$| 20))) |STAGG-;elt;AIS;5|)
+ (COND
+ ((OR
+ (|<| |i| 0)
+ (SPADCALL
+ (LETT |x|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# |i| |STAGG-;elt;AIS;5|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 21))
+ |STAGG-;elt;AIS;5|)
+ (QREFELT |$| 17)))
+ (EXIT (|error| "index out of range"))))
+ (EXIT (SPADCALL |x| (QREFELT |$| 18)))))))
+
+(DEFUN |STAGG-;elt;AUsA;6| (|x| |i| |$|)
+ (PROG (|l| #1=#:G87060 |h| #2=#:G87062 #3=#:G87063)
+ (RETURN
+ (SEQ
+ (LETT |l|
+ (|-| (SPADCALL |i| (QREFELT |$| 24)) (SPADCALL |x| (QREFELT |$| 20)))
+ |STAGG-;elt;AUsA;6|)
+ (EXIT
+ (COND
+ ((|<| |l| 0) (|error| "index out of range"))
+ ((NULL (SPADCALL |i| (QREFELT |$| 25)))
+ (SPADCALL
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# |l| |STAGG-;elt;AUsA;6|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 21))
+ (QREFELT |$| 26)))
+ ((QUOTE T)
+ (SEQ
+ (LETT |h|
+ (|-| (SPADCALL |i| (QREFELT |$| 27)) (SPADCALL |x| (QREFELT |$| 20)))
+ |STAGG-;elt;AUsA;6|)
+ (EXIT
+ (COND
+ ((|<| |h| |l|) (SPADCALL (QREFELT |$| 28)))
+ ((QUOTE T)
+ (SPADCALL
+ (SPADCALL |x|
+ (PROG1
+ (LETT #2# |l| |STAGG-;elt;AUsA;6|)
+ (|check-subtype|
+ (|>=| #2# 0) (QUOTE (|NonNegativeInteger|)) #2#))
+ (QREFELT |$| 21))
+ (PROG1
+ (LETT #3# (|+| (|-| |h| |l|) 1) |STAGG-;elt;AUsA;6|)
+ (|check-subtype| (|>=| #3# 0) (QUOTE (|NonNegativeInteger|)) #3#))
+ (QREFELT |$| 29)))))))))))))
+
+(DEFUN |STAGG-;concat;3A;7| (|x| |y| |$|)
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 26)) |y| (QREFELT |$| 31)))
+
+(DEFUN |STAGG-;concat;LA;8| (|l| |$|)
+ (COND
+ ((NULL |l|) (SPADCALL (QREFELT |$| 28)))
+ ((QUOTE T)
+ (SPADCALL
+ (SPADCALL (|SPADfirst| |l|) (QREFELT |$| 26))
+ (SPADCALL (CDR |l|) (QREFELT |$| 34))
+ (QREFELT |$| 31)))))
+
+(DEFUN |STAGG-;map!;M2A;9| (|f| |l| |$|)
+ (PROG (|y|)
+ (RETURN
+ (SEQ
+ (LETT |y| |l| |STAGG-;map!;M2A;9|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 17)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (SPADCALL |l|
+ (SPADCALL (SPADCALL |l| (QREFELT |$| 18)) |f|) (QREFELT |$| 36))
+ (EXIT (LETT |l| (SPADCALL |l| (QREFELT |$| 12)) |STAGG-;map!;M2A;9|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |y|)))))
+
+(DEFUN |STAGG-;fill!;ASA;10| (|x| |s| |$|)
+ (PROG (|y|)
+ (RETURN
+ (SEQ
+ (LETT |y| |x| |STAGG-;fill!;ASA;10|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |y| (QREFELT |$| 17)) (QUOTE NIL)) ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (SPADCALL |y| |s| (QREFELT |$| 36))
+ (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 12)) |STAGG-;fill!;ASA;10|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|)))))
+
+(DEFUN |STAGG-;setelt;AI2S;11| (|x| |i| |s| |$|)
+ (PROG (#1=#:G87081)
+ (RETURN
+ (SEQ
+ (LETT |i|
+ (|-| |i| (SPADCALL |x| (QREFELT |$| 20))) |STAGG-;setelt;AI2S;11|)
+ (COND
+ ((OR
+ (|<| |i| 0)
+ (SPADCALL
+ (LETT |x|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# |i| |STAGG-;setelt;AI2S;11|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 21))
+ |STAGG-;setelt;AI2S;11|)
+ (QREFELT |$| 17)))
+ (EXIT (|error| "index out of range"))))
+ (EXIT (SPADCALL |x| |s| (QREFELT |$| 36)))))))
+
+(DEFUN |STAGG-;setelt;AUs2S;12| (|x| |i| |s| |$|)
+ (PROG (|l| |h| #1=#:G87086 #2=#:G87087 |z| |y|)
+ (RETURN
+ (SEQ
+ (LETT |l|
+ (|-| (SPADCALL |i| (QREFELT |$| 24)) (SPADCALL |x| (QREFELT |$| 20)))
+ |STAGG-;setelt;AUs2S;12|)
+ (EXIT
+ (COND
+ ((|<| |l| 0) (|error| "index out of range"))
+ ((QUOTE T)
+ (SEQ
+ (LETT |h|
+ (COND
+ ((SPADCALL |i| (QREFELT |$| 25))
+ (|-|
+ (SPADCALL |i| (QREFELT |$| 27))
+ (SPADCALL |x| (QREFELT |$| 20))))
+ ((QUOTE T) (SPADCALL |x| (QREFELT |$| 41))))
+ |STAGG-;setelt;AUs2S;12|)
+ (EXIT
+ (COND
+ ((|<| |h| |l|) |s|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |y|
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# |l| |STAGG-;setelt;AUs2S;12|)
+ (|check-subtype|
+ (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 21))
+ |STAGG-;setelt;AUs2S;12|)
+ (LETT |z|
+ (SPADCALL |y|
+ (PROG1
+ (LETT #2# (|+| (|-| |h| |l|) 1) |STAGG-;setelt;AUs2S;12|)
+ (|check-subtype|
+ (|>=| #2# 0) (QUOTE (|NonNegativeInteger|)) #2#))
+ (QREFELT |$| 21))
+ |STAGG-;setelt;AUs2S;12|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |y| |z| (QREFELT |$| 42)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (SPADCALL |y| |s| (QREFELT |$| 36))
+ (EXIT
+ (LETT |y|
+ (SPADCALL |y| (QREFELT |$| 12))
+ |STAGG-;setelt;AUs2S;12|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |s|)))))))))))))
+
+(DEFUN |STAGG-;concat!;3A;13| (|x| |y| |$|)
+ (SEQ
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 17)) |y|)
+ ((QUOTE T)
+ (SEQ
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 44)) |y| (QREFELT |$| 45))
+ (EXIT |x|))))))
+
+(DEFUN |StreamAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|StreamAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |StreamAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 51) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|HasAttribute| |#1| (QUOTE |shallowlyMutable|))
+ (PROGN
+ (QSETREFV |$| 32 (CONS (|dispatchFunction| |STAGG-;concat;3A;7|) |$|))
+ (QSETREFV |$| 35 (CONS (|dispatchFunction| |STAGG-;concat;LA;8|) |$|))
+ (QSETREFV |$| 38 (CONS (|dispatchFunction| |STAGG-;map!;M2A;9|) |$|))
+ (QSETREFV |$| 39 (CONS (|dispatchFunction| |STAGG-;fill!;ASA;10|) |$|))
+ (QSETREFV |$| 40
+ (CONS (|dispatchFunction| |STAGG-;setelt;AI2S;11|) |$|))
+ (QSETREFV |$| 43
+ (CONS (|dispatchFunction| |STAGG-;setelt;AUs2S;12|) |$|))
+ (QSETREFV |$| 46
+ (CONS (|dispatchFunction| |STAGG-;concat!;3A;13|) |$|)))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |StreamAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
+ (|Boolean|) (0 . |cyclic?|) |STAGG-;explicitlyFinite?;AB;1|
+ |STAGG-;possiblyInfinite?;AB;2| (5 . |rest|) (|List| 7)
+ (10 . |construct|) (|NonNegativeInteger|) |STAGG-;first;ANniA;3|
+ (15 . |empty?|) (20 . |first|) (|Integer|) (25 . |minIndex|)
+ (30 . |rest|) |STAGG-;elt;AIS;5| (|UniversalSegment| 19) (36 . |lo|)
+ (41 . |hasHi|) (46 . |copy|) (51 . |hi|) (56 . |empty|) (60 . |first|)
+ |STAGG-;elt;AUsA;6| (66 . |concat!|) (72 . |concat|) (|List| |$|)
+ (78 . |concat|) (83 . |concat|) (88 . |setfirst!|) (|Mapping| 7 7)
+ (94 . |map!|) (100 . |fill!|) (106 . |setelt|) (113 . |maxIndex|)
+ (118 . |eq?|) (124 . |setelt|) (131 . |tail|) (136 . |setrest!|)
+ (142 . |concat!|) (QUOTE "rest") (QUOTE "last") (QUOTE "first")
+ (QUOTE "value")))
+ (QUOTE #(|setelt| 148 |possiblyInfinite?| 162 |map!| 167 |first| 173
+ |fill!| 179 |explicitlyFinite?| 185 |elt| 190 |concat!| 202 |concat| 208))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 46 (QUOTE (1 6 8 0 9 1 6 0 0 12 1 6 0 13 14 1 6
+ 8 0 17 1 6 7 0 18 1 6 19 0 20 2 6 0 0 15 21 1 23 19 0 24 1 23 8
+ 0 25 1 6 0 0 26 1 23 19 0 27 0 6 0 28 2 6 0 0 15 29 2 6 0 0 0 31
+ 2 0 0 0 0 32 1 6 0 33 34 1 0 0 33 35 2 6 7 0 7 36 2 0 0 37 0 38 2
+ 0 0 0 7 39 3 0 7 0 19 7 40 1 6 19 0 41 2 6 8 0 0 42 3 0 7 0 23 7 43
+ 1 6 0 0 44 2 6 0 0 0 45 2 0 0 0 0 46 3 0 7 0 19 7 40 3 0 7 0 23 7 43
+ 1 0 8 0 11 2 0 0 37 0 38 2 0 0 0 15 16 2 0 0 0 7 39 1 0 8 0 10 2 0 7
+ 0 19 22 2 0 0 0 23 30 2 0 0 0 0 46 1 0 0 33 35 2 0 0 0 0 32))))))
+ (QUOTE |lookupComplete|)))
@
\section{category TBAGG TableAggregate}
<<category TBAGG TableAggregate>>=
@@ -5176,7 +7097,7 @@ TableAggregate(Key:SetCategory, Entry:SetCategory):
Category ==
-- z
if % has finiteAggregate then
- parts(t:%):List Record(key:Key,entry:Entry) == [[k, t.k] for k
in keys t]
+ parts(t:%):List Record(key:Key,entry:Entry) == [[k, t.k] for k in keys t]
parts(t:%):List Entry == [t.k for k in keys t]
entries(t:%):List Entry == parts(t)
@@ -5187,13 +7108,14 @@ TableAggregate(Key:SetCategory, Entry:SetCategory):
Category ==
(e := search(k, t)) case "failed" or (e::Entry) ^= s.k => return false
true
- map(f: Record(key:Key,entry:Entry)->Record(key:Key,entry:Entry), t: %): %
==
+ map(f: Record(key:Key,entry:Entry)->Record(key:Key,entry:Entry),t:%):%==
z := table()
for k in keys t repeat
ke: Record(key:Key,entry:Entry) := f [k, t.k]
z ke.key := ke.entry
z
- map_!(f: Record(key:Key,entry:Entry)->Record(key:Key,entry:Entry), t: %):
% ==
+ map_!(f: Record(key:Key,entry:Entry)->Record(key:Key,entry:Entry),t:%):%_
+ ==
lke: List Record(key:Key,entry:Entry) := nil()
for k in keys t repeat
lke := cons(f [k, remove_!(k,t)::Entry], lke)
@@ -5206,8 +7128,10 @@ TableAggregate(Key:SetCategory, Entry:SetCategory):
Category ==
empty? ks => error "Cannot extract from an empty aggregate"
[first ks, t first ks]
- find(f: Record(key:Key,entry:Entry)->Boolean, t:%):
Union(Record(key:Key,entry:Entry), "failed") ==
- for ke in parts(t)@List(Record(key:Key,entry:Entry)) repeat if f ke
then return ke
+ find(f: Record(key:Key,entry:Entry)->Boolean, t:%):_
+ Union(Record(key:Key,entry:Entry), "failed") ==
+ for ke in parts(t)@List(Record(key:Key,entry:Entry)) _
+ repeat if f ke then return ke
"failed"
index?(k: Key, t: %): Boolean ==
@@ -5284,9 +7208,11 @@ UnaryRecursiveAggregate(S:Type): Category ==
RecursiveAggregate S with
++ first(u) returns the first element of u
++ (equivalently, the value at the current node).
elt: (%,"first") -> S
- ++ elt(u,"first") (also written: \axiom{u . first}) is equivalent to
first u.
+ ++ elt(u,"first") (also written: \axiom{u . first})
+ ++ is equivalent to first u.
first: (%,NonNegativeInteger) -> %
- ++ first(u,n) returns a copy of the first n (\axiom{n >= 0}) elements of
u.
+ ++ first(u,n) returns a copy of the first n (\axiom{n >= 0})
+ ++ elements of u.
rest: % -> %
++ rest(u) returns an aggregate consisting of all but the first
++ element of u
@@ -5301,7 +7227,8 @@ UnaryRecursiveAggregate(S:Type): Category ==
RecursiveAggregate S with
++ last(u) resturn the last element of u.
++ Note: for lists, \axiom{last(u) = u . (maxIndex u) = u . (# u - 1)}.
elt: (%,"last") -> S
- ++ elt(u,"last") (also written: \axiom{u . last}) is equivalent to last
u.
+ ++ elt(u,"last") (also written: \axiom{u . last}) is equivalent
+ ++ to last u.
last: (%,NonNegativeInteger) -> %
++ last(u,n) returns a copy of the last n (\axiom{n >= 0}) nodes of u.
++ Note: \axiom{last(u,n)} is a list of n elements.
@@ -5334,9 +7261,9 @@ UnaryRecursiveAggregate(S:Type): Category ==
RecursiveAggregate S with
cycleSplit_!: % -> %
++ cycleSplit!(u) splits the aggregate by dropping off the cycle.
++ The value returned is the cycle entry, or nil if none exists.
- ++ For example, if \axiom{w = concat(u,v)} is the cyclic list where v is
- ++ the head of the cycle, \axiom{cycleSplit!(w)} will drop v off w thus
- ++ destructively changing w to u, and returning v.
+ ++ For example, if \axiom{w = concat(u,v)} is the cyclic list where
+ ++ v is the head of the cycle, \axiom{cycleSplit!(w)} will drop v
+ ++ off w thus destructively changing w to u, and returning v.
setfirst_!: (%,S) -> S
++ setfirst!(u,x) destructively changes the first element of a to x.
setelt: (%,"first",S) -> S
@@ -5345,8 +7272,8 @@ UnaryRecursiveAggregate(S:Type): Category ==
RecursiveAggregate S with
setrest_!: (%,%) -> %
++ setrest!(u,v) destructively changes the rest of u to v.
setelt: (%,"rest",%) -> %
- ++ setelt(u,"rest",v) (also written: \axiom{u.rest := v}) is equivalent
to
- ++ \axiom{setrest!(u,v)}.
+ ++ setelt(u,"rest",v) (also written: \axiom{u.rest := v}) is
+ ++ equivalent to \axiom{setrest!(u,v)}.
setlast_!: (%,S) -> S
++ setlast!(u,x) destructively changes the last element of u to x.
setelt: (%,"last",S) -> S
@@ -5538,9 +7465,78 @@ Note that this code is not included in the generated
catdef.spad file.
(SETQ |UnaryRecursiveAggregate;AL| (QUOTE NIL))
-(DEFUN |UnaryRecursiveAggregate| (#1=#:G84596) (LET (#2=#:G84597) (COND ((SETQ
#2# (|assoc| (|devaluate| #1#) |UnaryRecursiveAggregate;AL|)) (CDR #2#)) (T
(SETQ |UnaryRecursiveAggregate;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2#
(|UnaryRecursiveAggregate;| #1#))) |UnaryRecursiveAggregate;AL|)) #2#))))
-
-(DEFUN |UnaryRecursiveAggregate;| (|t#1|) (PROG (#1=#:G84595) (RETURN (PROG1
(LETT #1# (|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND
(|UnaryRecursiveAggregate;CAT|) ((QUOTE T) (LETT |UnaryRecursiveAggregate;CAT|
(|Join| (|RecursiveAggregate| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|)
(QUOTE (((|concat| (|$| |$| |$|)) T) ((|concat| (|$| |t#1| |$|)) T) ((|first|
(|t#1| |$|)) T) ((|elt| (|t#1| |$| "first")) T) ((|first| (|$| |$|
(|NonNegativeInteger|))) T) ((|rest| (|$| |$|)) T) ((|elt| (|$| |$| "rest")) T)
((|rest| (|$| |$| (|NonNegativeInteger|))) T) ((|last| (|t#1| |$|)) T) ((|elt|
(|t#1| |$| "last")) T) ((|last| (|$| |$| (|NonNegativeInteger|))) T) ((|tail|
(|$| |$|)) T) ((|second| (|t#1| |$|)) T) ((|third| (|t#1| |$|)) T)
((|cycleEntry| (|$| |$|)) T) ((|cycleLength| ((|NonNegativeInteger|) |$|)) T)
((|cycleTail| (|$| |$|)) T) ((|concat!| (|$| |$| |$|)) (|has| |$| (ATTRIBUTE
|shallowlyMutable|))) ((|concat!| (|$| |$| |t#1|)) (|has| |$| (ATTRIBUTE |s!
hallowlyMutable|))) ((|cycleSplit!| (|$| |$|)) (|has| |$| (ATTRIBUTE
|shallowlyMutable|))) ((|setfirst!| (|t#1| |$| |t#1|)) (|has| |$| (ATTRIBUTE
|shallowlyMutable|))) ((|setelt| (|t#1| |$| "first" |t#1|)) (|has| |$|
(ATTRIBUTE |shallowlyMutable|))) ((|setrest!| (|$| |$| |$|)) (|has| |$|
(ATTRIBUTE |shallowlyMutable|))) ((|setelt| (|$| |$| "rest" |$|)) (|has| |$|
(ATTRIBUTE |shallowlyMutable|))) ((|setlast!| (|t#1| |$| |t#1|)) (|has| |$|
(ATTRIBUTE |shallowlyMutable|))) ((|setelt| (|t#1| |$| "last" |t#1|)) (|has|
|$| (ATTRIBUTE |shallowlyMutable|))) ((|split!| (|$| |$| (|Integer|))) (|has|
|$| (ATTRIBUTE |shallowlyMutable|))))) NIL (QUOTE ((|Integer|)
(|NonNegativeInteger|))) NIL)) . #2=(|UnaryRecursiveAggregate|))))) . #2#)
(SETELT #1# 0 (LIST (QUOTE |UnaryRecursiveAggregate|) (|devaluate| |t#1|)))))))
+(DEFUN |UnaryRecursiveAggregate| (#1=#:G84596)
+ (LET (#2=#:G84597)
+ (COND
+ ((SETQ #2# (|assoc| (|devaluate| #1#) |UnaryRecursiveAggregate;AL|))
+ (CDR #2#))
+ (T
+ (SETQ |UnaryRecursiveAggregate;AL|
+ (|cons5|
+ (CONS (|devaluate| #1#) (SETQ #2# (|UnaryRecursiveAggregate;| #1#)))
+ |UnaryRecursiveAggregate;AL|))
+ #2#))))
+
+(DEFUN |UnaryRecursiveAggregate;| (|t#1|)
+ (PROG (#1=#:G84595)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|sublisV|
+ (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|UnaryRecursiveAggregate;CAT|)
+ ((QUOTE T)
+ (LETT |UnaryRecursiveAggregate;CAT|
+ (|Join|
+ (|RecursiveAggregate| (QUOTE |t#1|))
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|concat| (|$| |$| |$|)) T)
+ ((|concat| (|$| |t#1| |$|)) T)
+ ((|first| (|t#1| |$|)) T)
+ ((|elt| (|t#1| |$| "first")) T)
+ ((|first| (|$| |$| (|NonNegativeInteger|))) T)
+ ((|rest| (|$| |$|)) T)
+ ((|elt| (|$| |$| "rest")) T)
+ ((|rest| (|$| |$| (|NonNegativeInteger|))) T)
+ ((|last| (|t#1| |$|)) T)
+ ((|elt| (|t#1| |$| "last")) T)
+ ((|last| (|$| |$| (|NonNegativeInteger|))) T)
+ ((|tail| (|$| |$|)) T)
+ ((|second| (|t#1| |$|)) T)
+ ((|third| (|t#1| |$|)) T)
+ ((|cycleEntry| (|$| |$|)) T)
+ ((|cycleLength| ((|NonNegativeInteger|) |$|)) T)
+ ((|cycleTail| (|$| |$|)) T)
+ ((|concat!| (|$| |$| |$|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|concat!| (|$| |$| |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|cycleSplit!| (|$| |$|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setfirst!| (|t#1| |$| |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setelt| (|t#1| |$| "first" |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setrest!| (|$| |$| |$|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setelt| (|$| |$| "rest" |$|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setlast!| (|t#1| |$| |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|setelt| (|t#1| |$| "last" |t#1|))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))
+ ((|split!| (|$| |$| (|Integer|)))
+ (|has| |$| (ATTRIBUTE |shallowlyMutable|)))))
+ NIL
+ (QUOTE ((|Integer|) (|NonNegativeInteger|)))
+ NIL))
+ . #2=(|UnaryRecursiveAggregate|)))))
+ . #2#)
+ (SETELT #1# 0
+ (LIST (QUOTE |UnaryRecursiveAggregate|) (|devaluate| |t#1|)))))))
@
\section{URAGG-.lsp BOOTSTRAP}
{\bf URAGG-} depends on {\bf URAGG}. We need to break this cycle to build
@@ -5555,75 +7551,674 @@ Note that this code is not included in the generated
catdef.spad file.
(|/VERSIONCHECK| 2)
-(DEFUN |URAGG-;elt;AfirstS;1| (|x| G84610 |$|) (SPADCALL |x| (QREFELT |$| 8)))
-
-(DEFUN |URAGG-;elt;AlastS;2| (|x| G84612 |$|) (SPADCALL |x| (QREFELT |$| 11)))
-
-(DEFUN |URAGG-;elt;ArestA;3| (|x| G84614 |$|) (SPADCALL |x| (QREFELT |$| 14)))
-
-(DEFUN |URAGG-;second;AS;4| (|x| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$|
14)) (QREFELT |$| 8)))
-
-(DEFUN |URAGG-;third;AS;5| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL |x|
(QREFELT |$| 14)) (QREFELT |$| 14)) (QREFELT |$| 8)))
-
-(DEFUN |URAGG-;cyclic?;AB;6| (|x| |$|) (COND ((OR (SPADCALL |x| (QREFELT |$|
20)) (SPADCALL (|URAGG-;findCycle| |x| |$|) (QREFELT |$| 20))) (QUOTE NIL))
((QUOTE T) (QUOTE T))))
-
-(DEFUN |URAGG-;last;AS;7| (|x| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$| 22))
(QREFELT |$| 8)))
-
-(DEFUN |URAGG-;nodes;AL;8| (|x| |$|) (PROG (|l|) (RETURN (SEQ (LETT |l| NIL
|URAGG-;nodes;AL;8|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |x| (QREFELT |$|
20)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |l| (CONS |x|
|l|) |URAGG-;nodes;AL;8|) (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 14))
|URAGG-;nodes;AL;8|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (NREVERSE |l|))))))
-
-(DEFUN |URAGG-;children;AL;9| (|x| |$|) (PROG (|l|) (RETURN (SEQ (LETT |l| NIL
|URAGG-;children;AL;9|) (EXIT (COND ((SPADCALL |x| (QREFELT |$| 20)) |l|)
((QUOTE T) (CONS (SPADCALL |x| (QREFELT |$| 14)) |l|))))))))
-
-(DEFUN |URAGG-;leaf?;AB;10| (|x| |$|) (SPADCALL |x| (QREFELT |$| 20)))
-
-(DEFUN |URAGG-;value;AS;11| (|x| |$|) (COND ((SPADCALL |x| (QREFELT |$| 20))
(|error| "value of empty object")) ((QUOTE T) (SPADCALL |x| (QREFELT |$| 8)))))
-
-(DEFUN |URAGG-;less?;ANniB;12| (|l| |n| |$|) (PROG (|i|) (RETURN (SEQ (LETT
|i| |n| |URAGG-;less?;ANniB;12|) (SEQ G190 (COND ((NULL (COND ((|<| 0 |i|)
(COND ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL)) ((QUOTE T) (QUOTE T))))
((QUOTE T) (QUOTE NIL)))) (GO G191))) (SEQ (LETT |l| (SPADCALL |l| (QREFELT |$|
14)) |URAGG-;less?;ANniB;12|) (EXIT (LETT |i| (|-| |i| 1)
|URAGG-;less?;ANniB;12|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (|<| 0
|i|))))))
-
-(DEFUN |URAGG-;more?;ANniB;13| (|l| |n| |$|) (PROG (|i|) (RETURN (SEQ (LETT
|i| |n| |URAGG-;more?;ANniB;13|) (SEQ G190 (COND ((NULL (COND ((|<| 0 |i|)
(COND ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL)) ((QUOTE T) (QUOTE T))))
((QUOTE T) (QUOTE NIL)))) (GO G191))) (SEQ (LETT |l| (SPADCALL |l| (QREFELT |$|
14)) |URAGG-;more?;ANniB;13|) (EXIT (LETT |i| (|-| |i| 1)
|URAGG-;more?;ANniB;13|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (COND ((ZEROP
|i|) (COND ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL)) ((QUOTE T) (QUOTE
T)))) ((QUOTE T) (QUOTE NIL))))))))
-
-(DEFUN |URAGG-;size?;ANniB;14| (|l| |n| |$|) (PROG (|i|) (RETURN (SEQ (LETT
|i| |n| |URAGG-;size?;ANniB;14|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |l|
(QREFELT |$| 20)) (QUOTE NIL)) ((QUOTE T) (|<| 0 |i|)))) (GO G191))) (SEQ (LETT
|l| (SPADCALL |l| (QREFELT |$| 14)) |URAGG-;size?;ANniB;14|) (EXIT (LETT |i|
(|-| |i| 1) |URAGG-;size?;ANniB;14|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT
(COND ((SPADCALL |l| (QREFELT |$| 20)) (ZEROP |i|)) ((QUOTE T) (QUOTE
NIL))))))))
-
-(DEFUN |URAGG-;#;ANni;15| (|x| |$|) (PROG (|k|) (RETURN (SEQ (SEQ (LETT |k| 0
|URAGG-;#;ANni;15|) G190 (COND ((NULL (COND ((SPADCALL |x| (QREFELT |$| 20))
(QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (COND ((EQL |k| 1000)
(COND ((SPADCALL |x| (QREFELT |$| 33)) (EXIT (|error| "cyclic list")))))) (EXIT
(LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;#;ANni;15|))) (LETT |k|
(QSADD1 |k|) |URAGG-;#;ANni;15|) (GO G190) G191 (EXIT NIL)) (EXIT |k|)))))
-
-(DEFUN |URAGG-;tail;2A;16| (|x| |$|) (PROG (|k| |y|) (RETURN (SEQ (COND
((SPADCALL |x| (QREFELT |$| 20)) (|error| "empty list")) ((QUOTE T) (SEQ (LETT
|y| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;tail;2A;16|) (SEQ (LETT |k| 0
|URAGG-;tail;2A;16|) G190 (COND ((NULL (COND ((SPADCALL |y| (QREFELT |$| 20))
(QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (COND ((EQL |k| 1000)
(COND ((SPADCALL |x| (QREFELT |$| 33)) (EXIT (|error| "cyclic list")))))) (EXIT
(LETT |y| (SPADCALL (LETT |x| |y| |URAGG-;tail;2A;16|) (QREFELT |$| 14))
|URAGG-;tail;2A;16|))) (LETT |k| (QSADD1 |k|) |URAGG-;tail;2A;16|) (GO G190)
G191 (EXIT NIL)) (EXIT |x|))))))))
-
-(DEFUN |URAGG-;findCycle| (|x| |$|) (PROG (#1=#:G84667 |y|) (RETURN (SEQ (EXIT
(SEQ (LETT |y| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;findCycle|) (SEQ G190
(COND ((NULL (COND ((SPADCALL |y| (QREFELT |$| 20)) (QUOTE NIL)) ((QUOTE T)
(QUOTE T)))) (GO G191))) (SEQ (COND ((SPADCALL |x| |y| (QREFELT |$| 36)) (PROGN
(LETT #1# |x| |URAGG-;findCycle|) (GO #1#)))) (LETT |x| (SPADCALL |x| (QREFELT
|$| 14)) |URAGG-;findCycle|) (LETT |y| (SPADCALL |y| (QREFELT |$| 14))
|URAGG-;findCycle|) (COND ((SPADCALL |y| (QREFELT |$| 20)) (PROGN (LETT #1# |y|
|URAGG-;findCycle|) (GO #1#)))) (COND ((SPADCALL |x| |y| (QREFELT |$| 36))
(PROGN (LETT #1# |y| |URAGG-;findCycle|) (GO #1#)))) (EXIT (LETT |y| (SPADCALL
|y| (QREFELT |$| 14)) |URAGG-;findCycle|))) NIL (GO G190) G191 (EXIT NIL))
(EXIT |y|))) #1# (EXIT #1#)))))
-
-(DEFUN |URAGG-;cycleTail;2A;18| (|x| |$|) (PROG (|y| |z|) (RETURN (SEQ (COND
((SPADCALL (LETT |y| (LETT |x| (SPADCALL |x| (QREFELT |$| 37))
|URAGG-;cycleTail;2A;18|) |URAGG-;cycleTail;2A;18|) (QREFELT |$| 20)) |x|)
((QUOTE T) (SEQ (LETT |z| (SPADCALL |x| (QREFELT |$| 14))
|URAGG-;cycleTail;2A;18|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |x| |z|
(QREFELT |$| 36)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT
|y| |z| |URAGG-;cycleTail;2A;18|) (EXIT (LETT |z| (SPADCALL |z| (QREFELT |$|
14)) |URAGG-;cycleTail;2A;18|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT
|y|))))))))
-
-(DEFUN |URAGG-;cycleEntry;2A;19| (|x| |$|) (PROG (|l| |z| |k| |y|) (RETURN
(SEQ (COND ((SPADCALL |x| (QREFELT |$| 20)) |x|) ((SPADCALL (LETT |y|
(|URAGG-;findCycle| |x| |$|) |URAGG-;cycleEntry;2A;19|) (QREFELT |$| 20)) |y|)
((QUOTE T) (SEQ (LETT |z| (SPADCALL |y| (QREFELT |$| 14))
|URAGG-;cycleEntry;2A;19|) (SEQ (LETT |l| 1 |URAGG-;cycleEntry;2A;19|) G190
(COND ((NULL (COND ((SPADCALL |y| |z| (QREFELT |$| 36)) (QUOTE NIL)) ((QUOTE T)
(QUOTE T)))) (GO G191))) (SEQ (EXIT (LETT |z| (SPADCALL |z| (QREFELT |$| 14))
|URAGG-;cycleEntry;2A;19|))) (LETT |l| (QSADD1 |l|) |URAGG-;cycleEntry;2A;19|)
(GO G190) G191 (EXIT NIL)) (LETT |y| |x| |URAGG-;cycleEntry;2A;19|) (SEQ (LETT
|k| 1 |URAGG-;cycleEntry;2A;19|) G190 (COND ((QSGREATERP |k| |l|) (GO G191)))
(SEQ (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 14))
|URAGG-;cycleEntry;2A;19|))) (LETT |k| (QSADD1 |k|) |URAGG-;cycleEntry;2A;19|)
(GO G190) G191 (EXIT NIL)) (SEQ G190 (COND ((NULL (COND ((SPADCALL |x| |y|
(QREFELT |$| 36)) (QUOTE NIL)!
) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |x| (SPADCALL |x| (QREFELT |$|
14)) |URAGG-;cycleEntry;2A;19|) (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 14))
|URAGG-;cycleEntry;2A;19|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT |x|))))))))
-
-(DEFUN |URAGG-;cycleLength;ANni;20| (|x| |$|) (PROG (|k| |y|) (RETURN (SEQ
(COND ((OR (SPADCALL |x| (QREFELT |$| 20)) (SPADCALL (LETT |x|
(|URAGG-;findCycle| |x| |$|) |URAGG-;cycleLength;ANni;20|) (QREFELT |$| 20)))
0) ((QUOTE T) (SEQ (LETT |y| (SPADCALL |x| (QREFELT |$| 14))
|URAGG-;cycleLength;ANni;20|) (SEQ (LETT |k| 1 |URAGG-;cycleLength;ANni;20|)
G190 (COND ((NULL (COND ((SPADCALL |x| |y| (QREFELT |$| 36)) (QUOTE NIL))
((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (EXIT (LETT |y| (SPADCALL |y| (QREFELT
|$| 14)) |URAGG-;cycleLength;ANni;20|))) (LETT |k| (QSADD1 |k|)
|URAGG-;cycleLength;ANni;20|) (GO G190) G191 (EXIT NIL)) (EXIT |k|))))))))
-
-(DEFUN |URAGG-;rest;ANniA;21| (|x| |n| |$|) (PROG (|i|) (RETURN (SEQ (SEQ
(LETT |i| 1 |URAGG-;rest;ANniA;21|) G190 (COND ((QSGREATERP |i| |n|) (GO
G191))) (SEQ (EXIT (COND ((SPADCALL |x| (QREFELT |$| 20)) (|error| "Index out
of range")) ((QUOTE T) (LETT |x| (SPADCALL |x| (QREFELT |$| 14))
|URAGG-;rest;ANniA;21|))))) (LETT |i| (QSADD1 |i|) |URAGG-;rest;ANniA;21|) (GO
G190) G191 (EXIT NIL)) (EXIT |x|)))))
-
-(DEFUN |URAGG-;last;ANniA;22| (|x| |n| |$|) (PROG (|m| #1=#:G84694) (RETURN
(SEQ (LETT |m| (SPADCALL |x| (QREFELT |$| 42)) |URAGG-;last;ANniA;22|) (EXIT
(COND ((|<| |m| |n|) (|error| "index out of range")) ((QUOTE T) (SPADCALL
(SPADCALL |x| (PROG1 (LETT #1# (|-| |m| |n|) |URAGG-;last;ANniA;22|)
(|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$|
43)) (QREFELT |$| 44)))))))))
-
-(DEFUN |URAGG-;=;2AB;23| (|x| |y| |$|) (PROG (|k| #1=#:G84705) (RETURN (SEQ
(EXIT (COND ((SPADCALL |x| |y| (QREFELT |$| 36)) (QUOTE T)) ((QUOTE T) (SEQ
(SEQ (LETT |k| 0 |URAGG-;=;2AB;23|) G190 (COND ((NULL (COND ((OR (SPADCALL |x|
(QREFELT |$| 20)) (SPADCALL |y| (QREFELT |$| 20))) (QUOTE NIL)) ((QUOTE T)
(QUOTE T)))) (GO G191))) (SEQ (COND ((EQL |k| 1000) (COND ((SPADCALL |x|
(QREFELT |$| 33)) (EXIT (|error| "cyclic list")))))) (COND ((NULL (SPADCALL
(SPADCALL |x| (QREFELT |$| 8)) (SPADCALL |y| (QREFELT |$| 8)) (QREFELT |$|
46))) (EXIT (PROGN (LETT #1# (QUOTE NIL) |URAGG-;=;2AB;23|) (GO #1#))))) (LETT
|x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;=;2AB;23|) (EXIT (LETT |y|
(SPADCALL |y| (QREFELT |$| 14)) |URAGG-;=;2AB;23|))) (LETT |k| (QSADD1 |k|)
|URAGG-;=;2AB;23|) (GO G190) G191 (EXIT NIL)) (EXIT (COND ((SPADCALL |x|
(QREFELT |$| 20)) (SPADCALL |y| (QREFELT |$| 20))) ((QUOTE T) (QUOTE
NIL)))))))) #1# (EXIT #1#)))))
-
-(DEFUN |URAGG-;node?;2AB;24| (|u| |v| |$|) (PROG (|k| #1=#:G84711) (RETURN
(SEQ (EXIT (SEQ (SEQ (LETT |k| 0 |URAGG-;node?;2AB;24|) G190 (COND ((NULL (COND
((SPADCALL |v| (QREFELT |$| 20)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO
G191))) (SEQ (EXIT (COND ((SPADCALL |u| |v| (QREFELT |$| 48)) (PROGN (LETT #1#
(QUOTE T) |URAGG-;node?;2AB;24|) (GO #1#))) ((QUOTE T) (SEQ (COND ((EQL |k|
1000) (COND ((SPADCALL |v| (QREFELT |$| 33)) (EXIT (|error| "cyclic list"))))))
(EXIT (LETT |v| (SPADCALL |v| (QREFELT |$| 14)) |URAGG-;node?;2AB;24|)))))))
(LETT |k| (QSADD1 |k|) |URAGG-;node?;2AB;24|) (GO G190) G191 (EXIT NIL)) (EXIT
(SPADCALL |u| |v| (QREFELT |$| 48))))) #1# (EXIT #1#)))))
-
-(DEFUN |URAGG-;setelt;Afirst2S;25| (|x| G84713 |a| |$|) (SPADCALL |x| |a|
(QREFELT |$| 50)))
-
-(DEFUN |URAGG-;setelt;Alast2S;26| (|x| G84715 |a| |$|) (SPADCALL |x| |a|
(QREFELT |$| 52)))
-
-(DEFUN |URAGG-;setelt;Arest2A;27| (|x| G84717 |a| |$|) (SPADCALL |x| |a|
(QREFELT |$| 54)))
-
-(DEFUN |URAGG-;concat;3A;28| (|x| |y| |$|) (SPADCALL (SPADCALL |x| (QREFELT
|$| 44)) |y| (QREFELT |$| 56)))
-
-(DEFUN |URAGG-;setlast!;A2S;29| (|x| |s| |$|) (SEQ (COND ((SPADCALL |x|
(QREFELT |$| 20)) (|error| "setlast: empty list")) ((QUOTE T) (SEQ (SPADCALL
(SPADCALL |x| (QREFELT |$| 22)) |s| (QREFELT |$| 50)) (EXIT |s|))))))
-
-(DEFUN |URAGG-;setchildren!;ALA;30| (|u| |lv| |$|) (COND ((EQL (LENGTH |lv|)
1) (SPADCALL |u| (|SPADfirst| |lv|) (QREFELT |$| 54))) ((QUOTE T) (|error|
"wrong number of children specified"))))
-
-(DEFUN |URAGG-;setvalue!;A2S;31| (|u| |s| |$|) (SPADCALL |u| |s| (QREFELT |$|
50)))
-
-(DEFUN |URAGG-;split!;AIA;32| (|p| |n| |$|) (PROG (#1=#:G84725 |q|) (RETURN
(SEQ (COND ((|<| |n| 1) (|error| "index out of range")) ((QUOTE T) (SEQ (LETT
|p| (SPADCALL |p| (PROG1 (LETT #1# (|-| |n| 1) |URAGG-;split!;AIA;32|)
(|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#)) (QREFELT |$|
43)) |URAGG-;split!;AIA;32|) (LETT |q| (SPADCALL |p| (QREFELT |$| 14))
|URAGG-;split!;AIA;32|) (SPADCALL |p| (SPADCALL (QREFELT |$| 61)) (QREFELT |$|
54)) (EXIT |q|))))))))
-
-(DEFUN |URAGG-;cycleSplit!;2A;33| (|x| |$|) (PROG (|y| |z|) (RETURN (SEQ (COND
((OR (SPADCALL (LETT |y| (SPADCALL |x| (QREFELT |$| 37))
|URAGG-;cycleSplit!;2A;33|) (QREFELT |$| 20)) (SPADCALL |x| |y| (QREFELT |$|
36))) |y|) ((QUOTE T) (SEQ (LETT |z| (SPADCALL |x| (QREFELT |$| 14))
|URAGG-;cycleSplit!;2A;33|) (SEQ G190 (COND ((NULL (COND ((SPADCALL |z| |y|
(QREFELT |$| 36)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT
|x| |z| |URAGG-;cycleSplit!;2A;33|) (EXIT (LETT |z| (SPADCALL |z| (QREFELT |$|
14)) |URAGG-;cycleSplit!;2A;33|))) NIL (GO G190) G191 (EXIT NIL)) (SPADCALL |x|
(SPADCALL (QREFELT |$| 61)) (QREFELT |$| 54)) (EXIT |y|))))))))
-
-(DEFUN |UnaryRecursiveAggregate&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$|
|pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) .
#1=(|UnaryRecursiveAggregate&|)) (LETT |DV$2| (|devaluate| |#2|) . #1#) (LETT
|dv$| (LIST (QUOTE |UnaryRecursiveAggregate&|) |DV$1| |DV$2|) . #1#) (LETT |$|
(GETREFV 66) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$|
(|buildPredVector| 0 0 (LIST (|HasAttribute| |#1| (QUOTE |shallowlyMutable|))))
. #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|)
(COND ((|HasAttribute| |#1| (QUOTE |finiteAggregate|)) (QSETREFV |$| 45 (CONS
(|dispatchFunction| |URAGG-;last;ANniA;22|) |$|)))) (COND ((|HasCategory| |#2|
(QUOTE (|SetCategory|))) (PROGN (QSETREFV |$| 47 (CONS (|dispatchFunction|
|URAGG-;=;2AB;23|) |$|)) (QSETREFV |$| 49 (CONS (|dispatchFunction|
|URAGG-;node?;2AB;24|) |$|))))) (COND ((|testBitVector| |pv$| 1) (PROGN
(QSETREFV |$| 51 (CONS (|dispatchFunction| |URAGG-;setelt;Afirst2S;25|) |$|))
(QSETREFV |$| 53 (CO!
NS (|dispatchFunction| |URAGG-;setelt;Alast2S;26|) |$|)) (QSETREFV |$| 55 (CONS
(|dispatchFunction| |URAGG-;setelt;Arest2A;27|) |$|)) (QSETREFV |$| 57 (CONS
(|dispatchFunction| |URAGG-;concat;3A;28|) |$|)) (QSETREFV |$| 58 (CONS
(|dispatchFunction| |URAGG-;setlast!;A2S;29|) |$|)) (QSETREFV |$| 59 (CONS
(|dispatchFunction| |URAGG-;setchildren!;ALA;30|) |$|)) (QSETREFV |$| 60 (CONS
(|dispatchFunction| |URAGG-;setvalue!;A2S;31|) |$|)) (QSETREFV |$| 63 (CONS
(|dispatchFunction| |URAGG-;split!;AIA;32|) |$|)) (QSETREFV |$| 64 (CONS
(|dispatchFunction| |URAGG-;cycleSplit!;2A;33|) |$|))))) |$|))))
-
-(MAKEPROP (QUOTE |UnaryRecursiveAggregate&|) (QUOTE |infovec|) (LIST (QUOTE
#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (0 . |first|) (QUOTE
"first") |URAGG-;elt;AfirstS;1| (5 . |last|) (QUOTE "last")
|URAGG-;elt;AlastS;2| (10 . |rest|) (QUOTE "rest") |URAGG-;elt;ArestA;3|
|URAGG-;second;AS;4| |URAGG-;third;AS;5| (|Boolean|) (15 . |empty?|)
|URAGG-;cyclic?;AB;6| (20 . |tail|) |URAGG-;last;AS;7| (|List| |$|)
|URAGG-;nodes;AL;8| |URAGG-;children;AL;9| |URAGG-;leaf?;AB;10|
|URAGG-;value;AS;11| (|NonNegativeInteger|) |URAGG-;less?;ANniB;12|
|URAGG-;more?;ANniB;13| |URAGG-;size?;ANniB;14| (25 . |cyclic?|)
|URAGG-;#;ANni;15| |URAGG-;tail;2A;16| (30 . |eq?|) (36 . |cycleEntry|)
|URAGG-;cycleTail;2A;18| |URAGG-;cycleEntry;2A;19| |URAGG-;cycleLength;ANni;20|
|URAGG-;rest;ANniA;21| (41 . |#|) (46 . |rest|) (52 . |copy|) (57 . |last|) (63
. |=|) (69 . |=|) (75 . |=|) (81 . |node?|) (87 . |setfirst!|) (93 . |setelt|)
(100 . |setlast!|) (106 . |setelt|) (113 . |setrest!|) (1!
19 . |setelt|) (126 . |concat!|) (132 . |concat|) (138 . |setlast!|) (144 .
|setchildren!|) (150 . |setvalue!|) (156 . |empty|) (|Integer|) (160 .
|split!|) (166 . |cycleSplit!|) (QUOTE "value"))) (QUOTE #(|value| 171 |third|
176 |tail| 181 |split!| 186 |size?| 192 |setvalue!| 198 |setlast!| 204 |setelt|
210 |setchildren!| 231 |second| 237 |rest| 242 |nodes| 248 |node?| 253 |more?|
259 |less?| 265 |leaf?| 271 |last| 276 |elt| 287 |cyclic?| 305 |cycleTail| 310
|cycleSplit!| 315 |cycleLength| 320 |cycleEntry| 325 |concat| 330 |children|
336 |=| 341 |#| 347)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL))
(CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 64 (QUOTE (1 6 7 0 8 1
6 7 0 11 1 6 0 0 14 1 6 19 0 20 1 6 0 0 22 1 6 19 0 33 2 6 19 0 0 36 1 6 0 0 37
1 6 29 0 42 2 6 0 0 29 43 1 6 0 0 44 2 0 0 0 29 45 2 7 19 0 0 46 2 0 19 0 0 47
2 6 19 0 0 48 2 0 19 0 0 49 2 6 7 0 7 50 3 0 7 0 9 7 51 2 6 7 0 7 52 3 0 7 0 12
7 53 2 6 0 0 0 54 3 0 0 0 15 0 55 2 6 0 0 0 56 2 0 0 0 !
0 57 2 0 7 0 7 58 2 0 0 0 24 59 2 0 7 0 7 60 0 6 0 61 2 0 0 0!
62 63 1 0 0 0 64 1 0 7 0 28 1 0 7 0 18 1 0 0 0 35 2 0 0 0 62 63 2 0 19 0 29 32
2 0 7 0 7 60 2 0 7 0 7 58 3 0 7 0 12 7 53 3 0 0 0 15 0 55 3 0 7 0 9 7 51 2 0 0
0 24 59 1 0 7 0 17 2 0 0 0 29 41 1 0 24 0 25 2 0 19 0 0 49 2 0 19 0 29 31 2 0
19 0 29 30 1 0 19 0 27 2 0 0 0 29 45 1 0 7 0 23 2 0 7 0 12 13 2 0 0 0 15 16 2 0
7 0 9 10 1 0 19 0 21 1 0 0 0 38 1 0 0 0 64 1 0 29 0 40 1 0 0 0 39 2 0 0 0 0 57
1 0 24 0 26 2 0 19 0 0 47 1 0 29 0 34)))))) (QUOTE |lookupComplete|)))
+(DEFUN |URAGG-;elt;AfirstS;1| (|x| G84610 |$|)
+ (SPADCALL |x| (QREFELT |$| 8)))
+
+(DEFUN |URAGG-;elt;AlastS;2| (|x| G84612 |$|)
+ (SPADCALL |x| (QREFELT |$| 11)))
+
+(DEFUN |URAGG-;elt;ArestA;3| (|x| G84614 |$|)
+ (SPADCALL |x| (QREFELT |$| 14)))
+
+(DEFUN |URAGG-;second;AS;4| (|x| |$|)
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 14)) (QREFELT |$| 8)))
+
+(DEFUN |URAGG-;third;AS;5| (|x| |$|)
+ (SPADCALL
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 14)) (QREFELT |$| 14))
+ (QREFELT |$| 8)))
+
+(DEFUN |URAGG-;cyclic?;AB;6| (|x| |$|)
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 20))
+ (SPADCALL (|URAGG-;findCycle| |x| |$|) (QREFELT |$| 20)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+
+(DEFUN |URAGG-;last;AS;7| (|x| |$|)
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 22)) (QREFELT |$| 8)))
+
+(DEFUN |URAGG-;nodes;AL;8| (|x| |$|)
+ (PROG (|l|)
+ (RETURN
+ (SEQ
+ (LETT |l| NIL |URAGG-;nodes;AL;8|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |l| (CONS |x| |l|) |URAGG-;nodes;AL;8|)
+ (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;nodes;AL;8|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT (NREVERSE |l|))))))
+
+(DEFUN |URAGG-;children;AL;9| (|x| |$|)
+ (PROG (|l|)
+ (RETURN
+ (SEQ
+ (LETT |l| NIL |URAGG-;children;AL;9|)
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) |l|)
+ ((QUOTE T) (CONS (SPADCALL |x| (QREFELT |$| 14)) |l|))))))))
+
+(DEFUN |URAGG-;leaf?;AB;10| (|x| |$|)
+ (SPADCALL |x| (QREFELT |$| 20)))
+
+(DEFUN |URAGG-;value;AS;11| (|x| |$|)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (|error| "value of empty object"))
+ ((QUOTE T) (SPADCALL |x| (QREFELT |$| 8)))))
+
+(DEFUN |URAGG-;less?;ANniB;12| (|l| |n| |$|)
+ (PROG (|i|)
+ (RETURN
+ (SEQ
+ (LETT |i| |n| |URAGG-;less?;ANniB;12|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((|<| 0 |i|)
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ ((QUOTE T) (QUOTE NIL))))
+ (GO G191)))
+ (SEQ
+ (LETT |l| (SPADCALL |l| (QREFELT |$| 14)) |URAGG-;less?;ANniB;12|)
+ (EXIT (LETT |i| (|-| |i| 1) |URAGG-;less?;ANniB;12|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT (|<| 0 |i|))))))
+
+(DEFUN |URAGG-;more?;ANniB;13| (|l| |n| |$|)
+ (PROG (|i|)
+ (RETURN
+ (SEQ
+ (LETT |i| |n| |URAGG-;more?;ANniB;13|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((|<| 0 |i|)
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ ((QUOTE T) (QUOTE NIL))))
+ (GO G191)))
+ (SEQ
+ (LETT |l| (SPADCALL |l| (QREFELT |$| 14)) |URAGG-;more?;ANniB;13|)
+ (EXIT (LETT |i| (|-| |i| 1) |URAGG-;more?;ANniB;13|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((ZEROP |i|)
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ ((QUOTE T) (QUOTE NIL))))))))
+
+(DEFUN |URAGG-;size?;ANniB;14| (|l| |n| |$|)
+ (PROG (|i|)
+ (RETURN
+ (SEQ
+ (LETT |i| |n| |URAGG-;size?;ANniB;14|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (|<| 0 |i|))))
+ (GO G191)))
+ (SEQ
+ (LETT |l| (SPADCALL |l| (QREFELT |$| 14)) |URAGG-;size?;ANniB;14|)
+ (EXIT (LETT |i| (|-| |i| 1) |URAGG-;size?;ANniB;14|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |l| (QREFELT |$| 20)) (ZEROP |i|))
+ ((QUOTE T) (QUOTE NIL))))))))
+
+(DEFUN |URAGG-;#;ANni;15| (|x| |$|)
+ (PROG (|k|)
+ (RETURN
+ (SEQ
+ (SEQ
+ (LETT |k| 0 |URAGG-;#;ANni;15|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (COND
+ ((EQL |k| 1000)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 33)) (EXIT (|error| "cyclic list"))))))
+ (EXIT (LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;#;ANni;15|)))
+ (LETT |k| (QSADD1 |k|) |URAGG-;#;ANni;15|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |k|)))))
+
+(DEFUN |URAGG-;tail;2A;16| (|x| |$|)
+ (PROG (|k| |y|)
+ (RETURN
+ (SEQ
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (|error| "empty list"))
+ ((QUOTE T)
+ (SEQ
+ (LETT |y| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;tail;2A;16|)
+ (SEQ
+ (LETT |k| 0 |URAGG-;tail;2A;16|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |y| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (COND
+ ((EQL |k| 1000)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 33))
+ (EXIT (|error| "cyclic list"))))))
+ (EXIT
+ (LETT |y|
+ (SPADCALL (LETT |x| |y| |URAGG-;tail;2A;16|) (QREFELT |$| 14))
+ |URAGG-;tail;2A;16|)))
+ (LETT |k| (QSADD1 |k|) |URAGG-;tail;2A;16|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|))))))))
+
+(DEFUN |URAGG-;findCycle| (|x| |$|)
+ (PROG (#1=#:G84667 |y|)
+ (RETURN
+ (SEQ
+ (EXIT
+ (SEQ
+ (LETT |y| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;findCycle|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |y| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (COND
+ ((SPADCALL |x| |y| (QREFELT |$| 36))
+ (PROGN (LETT #1# |x| |URAGG-;findCycle|) (GO #1#))))
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;findCycle|)
+ (LETT |y| (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;findCycle|)
+ (COND
+ ((SPADCALL |y| (QREFELT |$| 20))
+ (PROGN (LETT #1# |y| |URAGG-;findCycle|) (GO #1#))))
+ (COND
+ ((SPADCALL |x| |y| (QREFELT |$| 36))
+ (PROGN (LETT #1# |y| |URAGG-;findCycle|) (GO #1#))))
+ (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;findCycle|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |y|)))
+ #1#
+ (EXIT #1#)))))
+
+(DEFUN |URAGG-;cycleTail;2A;18| (|x| |$|)
+ (PROG (|y| |z|)
+ (RETURN
+ (SEQ
+ (COND
+ ((SPADCALL
+ (LETT |y|
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 37)) |URAGG-;cycleTail;2A;18|)
+ |URAGG-;cycleTail;2A;18|)
+ (QREFELT |$| 20))
+ |x|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |z| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;cycleTail;2A;18|)
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| |z| (QREFELT |$| 36)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |y| |z| |URAGG-;cycleTail;2A;18|)
+ (EXIT
+ (LETT |z|
+ (SPADCALL |z| (QREFELT |$| 14)) |URAGG-;cycleTail;2A;18|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |y|))))))))
+
+(DEFUN |URAGG-;cycleEntry;2A;19| (|x| |$|)
+ (PROG (|l| |z| |k| |y|)
+ (RETURN
+ (SEQ
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) |x|)
+ ((SPADCALL
+ (LETT |y| (|URAGG-;findCycle| |x| |$|) |URAGG-;cycleEntry;2A;19|)
+ (QREFELT |$| 20))
+ |y|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |z| (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;cycleEntry;2A;19|)
+ (SEQ
+ (LETT |l| 1 |URAGG-;cycleEntry;2A;19|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |y| |z| (QREFELT |$| 36)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |z|
+ (SPADCALL |z| (QREFELT |$| 14)) |URAGG-;cycleEntry;2A;19|)))
+ (LETT |l|
+ (QSADD1 |l|) |URAGG-;cycleEntry;2A;19|) (GO G190) G191 (EXIT NIL))
+ (LETT |y| |x| |URAGG-;cycleEntry;2A;19|)
+ (SEQ
+ (LETT |k| 1 |URAGG-;cycleEntry;2A;19|)
+ G190
+ (COND ((QSGREATERP |k| |l|) (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |y|
+ (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;cycleEntry;2A;19|)))
+ (LETT |k| (QSADD1 |k|) |URAGG-;cycleEntry;2A;19|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (SEQ
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| |y| (QREFELT |$| 36)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;cycleEntry;2A;19|)
+ (EXIT
+ (LETT |y|
+ (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;cycleEntry;2A;19|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|))))))))
+
+(DEFUN |URAGG-;cycleLength;ANni;20| (|x| |$|)
+ (PROG (|k| |y|)
+ (RETURN
+ (SEQ
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 20))
+ (SPADCALL
+ (LETT |x| (|URAGG-;findCycle| |x| |$|) |URAGG-;cycleLength;ANni;20|)
+ (QREFELT |$| 20)))
+ 0)
+ ((QUOTE T)
+ (SEQ
+ (LETT |y| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;cycleLength;ANni;20|)
+ (SEQ
+ (LETT |k| 1 |URAGG-;cycleLength;ANni;20|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |x| |y| (QREFELT |$| 36)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT |y|
+ (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;cycleLength;ANni;20|)))
+ (LETT |k| (QSADD1 |k|) |URAGG-;cycleLength;ANni;20|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |k|))))))))
+
+(DEFUN |URAGG-;rest;ANniA;21| (|x| |n| |$|)
+ (PROG (|i|)
+ (RETURN
+ (SEQ
+ (SEQ
+ (LETT |i| 1 |URAGG-;rest;ANniA;21|)
+ G190
+ (COND ((QSGREATERP |i| |n|) (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (|error| "Index out of range"))
+ ((QUOTE T)
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;rest;ANniA;21|)))))
+ (LETT |i| (QSADD1 |i|) |URAGG-;rest;ANniA;21|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT |x|)))))
+
+(DEFUN |URAGG-;last;ANniA;22| (|x| |n| |$|)
+ (PROG (|m| #1=#:G84694)
+ (RETURN
+ (SEQ
+ (LETT |m| (SPADCALL |x| (QREFELT |$| 42)) |URAGG-;last;ANniA;22|)
+ (EXIT
+ (COND
+ ((|<| |m| |n|) (|error| "index out of range"))
+ ((QUOTE T)
+ (SPADCALL
+ (SPADCALL |x|
+ (PROG1
+ (LETT #1# (|-| |m| |n|) |URAGG-;last;ANniA;22|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 43))
+ (QREFELT |$| 44)))))))))
+
+(DEFUN |URAGG-;=;2AB;23| (|x| |y| |$|)
+ (PROG (|k| #1=#:G84705)
+ (RETURN
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL |x| |y| (QREFELT |$| 36)) (QUOTE T))
+ ((QUOTE T)
+ (SEQ
+ (SEQ
+ (LETT |k| 0 |URAGG-;=;2AB;23|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((OR
+ (SPADCALL |x| (QREFELT |$| 20))
+ (SPADCALL |y| (QREFELT |$| 20)))
+ (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (COND
+ ((EQL |k| 1000)
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 33))
+ (EXIT (|error| "cyclic list"))))))
+ (COND
+ ((NULL
+ (SPADCALL
+ (SPADCALL |x| (QREFELT |$| 8))
+ (SPADCALL |y| (QREFELT |$| 8))
+ (QREFELT |$| 46)))
+ (EXIT (PROGN (LETT #1# (QUOTE NIL) |URAGG-;=;2AB;23|) (GO #1#)))))
+ (LETT |x| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;=;2AB;23|)
+ (EXIT (LETT |y| (SPADCALL |y| (QREFELT |$| 14)) |URAGG-;=;2AB;23|)))
+ (LETT |k| (QSADD1 |k|) |URAGG-;=;2AB;23|)
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (EXIT
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (SPADCALL |y| (QREFELT |$| 20)))
+ ((QUOTE T) (QUOTE NIL))))))))
+ #1#
+ (EXIT #1#)))))
+
+(DEFUN |URAGG-;node?;2AB;24| (|u| |v| |$|)
+ (PROG (|k| #1=#:G84711)
+ (RETURN
+ (SEQ
+ (EXIT
+ (SEQ
+ (SEQ
+ (LETT |k| 0 |URAGG-;node?;2AB;24|)
+ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |v| (QREFELT |$| 20)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((SPADCALL |u| |v| (QREFELT |$| 48))
+ (PROGN (LETT #1# (QUOTE T) |URAGG-;node?;2AB;24|) (GO #1#)))
+ ((QUOTE T)
+ (SEQ
+ (COND
+ ((EQL |k| 1000)
+ (COND
+ ((SPADCALL |v| (QREFELT |$| 33))
+ (EXIT (|error| "cyclic list"))))))
+ (EXIT
+ (LETT |v|
+ (SPADCALL |v| (QREFELT |$| 14))
+ |URAGG-;node?;2AB;24|)))))))
+ (LETT |k| (QSADD1 |k|) |URAGG-;node?;2AB;24|) (GO G190) G191 (EXIT NIL))
+ (EXIT (SPADCALL |u| |v| (QREFELT |$| 48)))))
+ #1# (EXIT #1#)))))
+
+(DEFUN |URAGG-;setelt;Afirst2S;25| (|x| G84713 |a| |$|)
+ (SPADCALL |x| |a| (QREFELT |$| 50)))
+
+(DEFUN |URAGG-;setelt;Alast2S;26| (|x| G84715 |a| |$|)
+ (SPADCALL |x| |a| (QREFELT |$| 52)))
+
+(DEFUN |URAGG-;setelt;Arest2A;27| (|x| G84717 |a| |$|)
+ (SPADCALL |x| |a| (QREFELT |$| 54)))
+
+(DEFUN |URAGG-;concat;3A;28| (|x| |y| |$|)
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 44)) |y| (QREFELT |$| 56)))
+
+(DEFUN |URAGG-;setlast!;A2S;29| (|x| |s| |$|)
+ (SEQ
+ (COND
+ ((SPADCALL |x| (QREFELT |$| 20)) (|error| "setlast: empty list"))
+ ((QUOTE T)
+ (SEQ
+ (SPADCALL (SPADCALL |x| (QREFELT |$| 22)) |s| (QREFELT |$| 50))
+ (EXIT |s|))))))
+
+(DEFUN |URAGG-;setchildren!;ALA;30| (|u| |lv| |$|)
+ (COND
+ ((EQL (LENGTH |lv|) 1) (SPADCALL |u| (|SPADfirst| |lv|) (QREFELT |$| 54)))
+ ((QUOTE T) (|error| "wrong number of children specified"))))
+
+(DEFUN |URAGG-;setvalue!;A2S;31| (|u| |s| |$|)
+ (SPADCALL |u| |s| (QREFELT |$| 50)))
+
+(DEFUN |URAGG-;split!;AIA;32| (|p| |n| |$|)
+ (PROG (#1=#:G84725 |q|)
+ (RETURN
+ (SEQ
+ (COND
+ ((|<| |n| 1) (|error| "index out of range"))
+ ((QUOTE T)
+ (SEQ
+ (LETT |p|
+ (SPADCALL |p|
+ (PROG1
+ (LETT #1# (|-| |n| 1) |URAGG-;split!;AIA;32|)
+ (|check-subtype| (|>=| #1# 0) (QUOTE (|NonNegativeInteger|)) #1#))
+ (QREFELT |$| 43))
+ |URAGG-;split!;AIA;32|)
+ (LETT |q| (SPADCALL |p| (QREFELT |$| 14)) |URAGG-;split!;AIA;32|)
+ (SPADCALL |p| (SPADCALL (QREFELT |$| 61)) (QREFELT |$| 54))
+ (EXIT |q|))))))))
+
+(DEFUN |URAGG-;cycleSplit!;2A;33| (|x| |$|)
+ (PROG (|y| |z|)
+ (RETURN
+ (SEQ
+ (COND
+ ((OR
+ (SPADCALL
+ (LETT |y| (SPADCALL |x| (QREFELT |$| 37)) |URAGG-;cycleSplit!;2A;33|)
+ (QREFELT |$| 20))
+ (SPADCALL |x| |y| (QREFELT |$| 36))) |y|)
+ ((QUOTE T)
+ (SEQ
+ (LETT |z| (SPADCALL |x| (QREFELT |$| 14)) |URAGG-;cycleSplit!;2A;33|)
+ (SEQ G190
+ (COND
+ ((NULL
+ (COND
+ ((SPADCALL |z| |y| (QREFELT |$| 36)) (QUOTE NIL))
+ ((QUOTE T) (QUOTE T))))
+ (GO G191)))
+ (SEQ
+ (LETT |x| |z| |URAGG-;cycleSplit!;2A;33|)
+ (EXIT
+ (LETT |z|
+ (SPADCALL |z| (QREFELT |$| 14)) |URAGG-;cycleSplit!;2A;33|)))
+ NIL
+ (GO G190)
+ G191
+ (EXIT NIL))
+ (SPADCALL |x|
+ (SPADCALL (QREFELT |$| 61)) (QREFELT |$| 54)) (EXIT |y|))))))))
+
+(DEFUN |UnaryRecursiveAggregate&| (|#1| |#2|)
+ (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |DV$1| (|devaluate| |#1|) . #1=(|UnaryRecursiveAggregate&|))
+ (LETT |DV$2| (|devaluate| |#2|) . #1#)
+ (LETT |dv$| (LIST (QUOTE |UnaryRecursiveAggregate&|) |DV$1| |DV$2|) . #1#)
+ (LETT |$| (GETREFV 66) . #1#)
+ (QSETREFV |$| 0 |dv$|)
+ (QSETREFV |$| 3
+ (LETT |pv$|
+ (|buildPredVector| 0 0
+ (LIST (|HasAttribute| |#1| (QUOTE |shallowlyMutable|))))
+ . #1#))
+ (|stuffDomainSlots| |$|)
+ (QSETREFV |$| 6 |#1|)
+ (QSETREFV |$| 7 |#2|)
+ (COND
+ ((|HasAttribute| |#1| (QUOTE |finiteAggregate|))
+ (QSETREFV |$| 45
+ (CONS (|dispatchFunction| |URAGG-;last;ANniA;22|) |$|))))
+ (COND
+ ((|HasCategory| |#2| (QUOTE (|SetCategory|)))
+ (PROGN
+ (QSETREFV |$| 47 (CONS (|dispatchFunction| |URAGG-;=;2AB;23|) |$|))
+ (QSETREFV |$| 49
+ (CONS (|dispatchFunction| |URAGG-;node?;2AB;24|) |$|)))))
+ (COND
+ ((|testBitVector| |pv$| 1)
+ (PROGN
+ (QSETREFV |$| 51
+ (CONS (|dispatchFunction| |URAGG-;setelt;Afirst2S;25|) |$|))
+ (QSETREFV |$| 53
+ (CONS (|dispatchFunction| |URAGG-;setelt;Alast2S;26|) |$|))
+ (QSETREFV |$| 55
+ (CONS (|dispatchFunction| |URAGG-;setelt;Arest2A;27|) |$|))
+ (QSETREFV |$| 57
+ (CONS (|dispatchFunction| |URAGG-;concat;3A;28|) |$|))
+ (QSETREFV |$| 58
+ (CONS (|dispatchFunction| |URAGG-;setlast!;A2S;29|) |$|))
+ (QSETREFV |$| 59
+ (CONS (|dispatchFunction| |URAGG-;setchildren!;ALA;30|) |$|))
+ (QSETREFV |$| 60
+ (CONS (|dispatchFunction| |URAGG-;setvalue!;A2S;31|) |$|))
+ (QSETREFV |$| 63
+ (CONS (|dispatchFunction| |URAGG-;split!;AIA;32|) |$|))
+ (QSETREFV |$| 64
+ (CONS (|dispatchFunction| |URAGG-;cycleSplit!;2A;33|) |$|)))))
+ |$|))))
+
+(MAKEPROP
+ (QUOTE |UnaryRecursiveAggregate&|)
+ (QUOTE |infovec|)
+ (LIST
+ (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
+ (0 . |first|) (QUOTE "first") |URAGG-;elt;AfirstS;1| (5 . |last|)
+ (QUOTE "last") |URAGG-;elt;AlastS;2| (10 . |rest|) (QUOTE "rest")
+ |URAGG-;elt;ArestA;3| |URAGG-;second;AS;4| |URAGG-;third;AS;5|
+ (|Boolean|) (15 . |empty?|) |URAGG-;cyclic?;AB;6| (20 . |tail|)
+ |URAGG-;last;AS;7| (|List| |$|) |URAGG-;nodes;AL;8|
+ |URAGG-;children;AL;9| |URAGG-;leaf?;AB;10| |URAGG-;value;AS;11|
+ (|NonNegativeInteger|) |URAGG-;less?;ANniB;12| |URAGG-;more?;ANniB;13|
+ |URAGG-;size?;ANniB;14| (25 . |cyclic?|) |URAGG-;#;ANni;15|
+ |URAGG-;tail;2A;16| (30 . |eq?|) (36 . |cycleEntry|)
+ |URAGG-;cycleTail;2A;18| |URAGG-;cycleEntry;2A;19|
+ |URAGG-;cycleLength;ANni;20| |URAGG-;rest;ANniA;21| (41 . |#|)
+ (46 . |rest|) (52 . |copy|) (57 . |last|) (63 . |=|) (69 . |=|)
+ (75 . |=|) (81 . |node?|) (87 . |setfirst!|) (93 . |setelt|)
+ (100 . |setlast!|) (106 . |setelt|) (113 . |setrest!|)
+ (119 . |setelt|) (126 . |concat!|) (132 . |concat|) (138 . |setlast!|)
+ (144 . |setchildren!|) (150 . |setvalue!|) (156 . |empty|) (|Integer|)
+ (160 . |split!|) (166 . |cycleSplit!|) (QUOTE "value")))
+ (QUOTE #(|value| 171 |third| 176 |tail| 181 |split!| 186 |size?| 192
+ |setvalue!| 198 |setlast!| 204 |setelt| 210 |setchildren!| 231 |second|
+ 237 |rest| 242 |nodes| 248 |node?| 253 |more?| 259 |less?| 265 |leaf?|
+ 271 |last| 276 |elt| 287 |cyclic?| 305 |cycleTail| 310 |cycleSplit!|
+ 315 |cycleLength| 320 |cycleEntry| 325 |concat| 330 |children| 336 |=|
+ 341 |#| 347))
+ (QUOTE NIL)
+ (CONS
+ (|makeByteWordVec2| 1 (QUOTE NIL))
+ (CONS
+ (QUOTE #())
+ (CONS
+ (QUOTE #())
+ (|makeByteWordVec2| 64 (QUOTE (1 6 7 0 8 1 6 7 0 11 1 6 0 0 14 1 6
+ 19 0 20 1 6 0 0 22 1 6 19 0 33 2 6 19 0 0 36 1 6 0 0 37 1 6 29 0
+ 42 2 6 0 0 29 43 1 6 0 0 44 2 0 0 0 29 45 2 7 19 0 0 46 2 0 19 0
+ 0 47 2 6 19 0 0 48 2 0 19 0 0 49 2 6 7 0 7 50 3 0 7 0 9 7 51 2 6
+ 7 0 7 52 3 0 7 0 12 7 53 2 6 0 0 0 54 3 0 0 0 15 0 55 2 6 0 0 0 56
+ 2 0 0 0 0 57 2 0 7 0 7 58 2 0 0 0 24 59 2 0 7 0 7 60 0 6 0 61 2 0
+ 0 0 62 63 1 0 0 0 64 1 0 7 0 28 1 0 7 0 18 1 0 0 0 35 2 0 0 0 62 63
+ 2 0 19 0 29 32 2 0 7 0 7 60 2 0 7 0 7 58 3 0 7 0 12 7 53 3 0 0 0 15
+ 0 55 3 0 7 0 9 7 51 2 0 0 0 24 59 1 0 7 0 17 2 0 0 0 29 41 1 0 24 0
+ 25 2 0 19 0 0 49 2 0 19 0 29 31 2 0 19 0 29 30 1 0 19 0 27 2 0 0 0
+ 29 45 1 0 7 0 23 2 0 7 0 12 13 2 0 0 0 15 16 2 0 7 0 9 10 1 0 19 0
+ 21 1 0 0 0 38 1 0 0 0 64 1 0 29 0 40 1 0 0 0 39 2 0 0 0 0 57 1 0 24
+ 0 26 2 0 19 0 0 47 1 0 29 0 34))))))
+ (QUOTE |lookupComplete|)))
@
<<algebra>>=
<<category AGG Aggregate>>
diff --git a/changelog b/changelog
index 283d330..67e1cd4 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20080908 tpd books/bookvol10 latex cleanup
20080906 tpd src/algebra/aggcat.spad removed, merged into bookvol10
20080906 tpd src/algebra/Makefile merge aggcat.spad
20080906 tpd src/Makefile merge aggcat.spad
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20080908.01.tpd.patch (bookvol10 latex cleanup),
daly <=