diff options
Diffstat (limited to 'src/algebra/strap/LNAGG-.lsp')
-rw-r--r-- | src/algebra/strap/LNAGG-.lsp | 85 |
1 files changed, 70 insertions, 15 deletions
diff --git a/src/algebra/strap/LNAGG-.lsp b/src/algebra/strap/LNAGG-.lsp index 5ba1d59c..865a3523 100644 --- a/src/algebra/strap/LNAGG-.lsp +++ b/src/algebra/strap/LNAGG-.lsp @@ -2,13 +2,13 @@ (/VERSIONCHECK 2) (DEFUN |LNAGG-;indices;AL;1| (|a| $) - (PROG (#0=#:G1404 |i| #1=#:G1405) + (PROG (#0=#:G1401 |i| #1=#:G1402) (RETURN (SEQ (PROGN (LETT #0# NIL |LNAGG-;indices;AL;1|) - (SEQ (LETT |i| (SPADCALL |a| (QREFELT $ 9)) + (SEQ (LETT |i| (SPADCALL |a| (|getShellEntry| $ 9)) |LNAGG-;indices;AL;1|) - (LETT #1# (SPADCALL |a| (QREFELT $ 10)) + (LETT #1# (SPADCALL |a| (|getShellEntry| $ 10)) |LNAGG-;indices;AL;1|) G190 (COND ((> |i| #1#) (GO G191))) (SEQ (EXIT (LETT #0# (CONS |i| #0#) @@ -18,21 +18,26 @@ (DEFUN |LNAGG-;index?;IAB;2| (|i| |a| $) (COND - ((< |i| (SPADCALL |a| (QREFELT $ 9))) 'NIL) + ((< |i| (SPADCALL |a| (|getShellEntry| $ 9))) 'NIL) ('T - (SPADCALL (< (SPADCALL |a| (QREFELT $ 10)) |i|) (QREFELT $ 14))))) + (SPADCALL (< (SPADCALL |a| (|getShellEntry| $ 10)) |i|) + (|getShellEntry| $ 14))))) (DEFUN |LNAGG-;concat;ASA;3| (|a| |x| $) - (SPADCALL |a| (SPADCALL 1 |x| (QREFELT $ 17)) (QREFELT $ 18))) + (SPADCALL |a| (SPADCALL 1 |x| (|getShellEntry| $ 17)) + (|getShellEntry| $ 18))) (DEFUN |LNAGG-;concat;S2A;4| (|x| |y| $) - (SPADCALL (SPADCALL 1 |x| (QREFELT $ 17)) |y| (QREFELT $ 18))) + (SPADCALL (SPADCALL 1 |x| (|getShellEntry| $ 17)) |y| + (|getShellEntry| $ 18))) (DEFUN |LNAGG-;insert;SAIA;5| (|x| |a| |i| $) - (SPADCALL (SPADCALL 1 |x| (QREFELT $ 17)) |a| |i| (QREFELT $ 21))) + (SPADCALL (SPADCALL 1 |x| (|getShellEntry| $ 17)) |a| |i| + (|getShellEntry| $ 21))) (DEFUN |LNAGG-;maxIndex;AI;6| (|l| $) - (+ (- (SPADCALL |l| (QREFELT $ 23)) 1) (SPADCALL |l| (QREFELT $ 9)))) + (+ (- (SPADCALL |l| (|getShellEntry| $ 23)) 1) + (SPADCALL |l| (|getShellEntry| $ 9)))) (DEFUN |LinearAggregate&| (|#1| |#2|) (PROG (|dv$1| |dv$2| |dv$| $ |pv$|) @@ -41,18 +46,18 @@ (LETT |dv$1| (|devaluate| |#1|) . #0=(|LinearAggregate&|)) (LETT |dv$2| (|devaluate| |#2|) . #0#) (LETT |dv$| (LIST '|LinearAggregate&| |dv$1| |dv$2|) . #0#) - (LETT $ (GETREFV 26) . #0#) - (QSETREFV $ 0 |dv$|) - (QSETREFV $ 3 + (LETT $ (|newShell| 26) . #0#) + (|setShellEntry| $ 0 |dv$|) + (|setShellEntry| $ 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasAttribute| |#1| '|shallowlyMutable|))) . #0#)) (|stuffDomainSlots| $) - (QSETREFV $ 6 |#1|) - (QSETREFV $ 7 |#2|) + (|setShellEntry| $ 6 |#1|) + (|setShellEntry| $ 7 |#2|) (COND ((|HasAttribute| |#1| '|finiteAggregate|) - (QSETREFV $ 24 + (|setShellEntry| $ 24 (CONS (|dispatchFunction| |LNAGG-;maxIndex;AI;6|) $)))) $)))) @@ -78,3 +83,53 @@ 0 7 0 8 22 1 0 11 0 12 2 0 13 8 0 15 2 0 0 0 7 19 2 0 0 7 0 20))))) '|lookupComplete|)) + +(SETQ |$CategoryFrame| + (|put| '|LinearAggregate&| '|isFunctor| + '(((|insert| ($ $ $ (|Integer|))) T (ELT $ NIL)) + ((|insert| ($ |#2| $ (|Integer|))) T (ELT $ 22)) + ((|concat| ($ (|List| $))) T (ELT $ NIL)) + ((|concat| ($ $ $)) T (ELT $ NIL)) + ((|concat| ($ |#2| $)) T (ELT $ 20)) + ((|concat| ($ $ |#2|)) T (ELT $ 19)) + ((|maxIndex| ((|Integer|) $)) T (ELT $ 24)) + ((|indices| ((|List| (|Integer|)) $)) T (ELT $ 12)) + ((|index?| ((|Boolean|) (|Integer|) $)) T (ELT $ 15))) + (|addModemap| '|LinearAggregate&| + '(|LinearAggregate&| |#1| |#2|) + '((CATEGORY |domain| + (SIGNATURE |insert| + (|#1| |#1| |#1| (|Integer|))) + (SIGNATURE |insert| + (|#1| |#2| |#1| (|Integer|))) + (SIGNATURE |concat| (|#1| (|List| |#1|))) + (SIGNATURE |concat| (|#1| |#1| |#1|)) + (SIGNATURE |concat| (|#1| |#2| |#1|)) + (SIGNATURE |concat| (|#1| |#1| |#2|)) + (SIGNATURE |maxIndex| ((|Integer|) |#1|)) + (SIGNATURE |indices| + ((|List| (|Integer|)) |#1|)) + (SIGNATURE |index?| + ((|Boolean|) (|Integer|) |#1|))) + (|LinearAggregate| |#2|) (|Type|)) + T '|LinearAggregate&| + (|put| '|LinearAggregate&| '|mode| + '(|Mapping| + (CATEGORY |domain| + (SIGNATURE |insert| + (|#1| |#1| |#1| (|Integer|))) + (SIGNATURE |insert| + (|#1| |#2| |#1| (|Integer|))) + (SIGNATURE |concat| + (|#1| (|List| |#1|))) + (SIGNATURE |concat| (|#1| |#1| |#1|)) + (SIGNATURE |concat| (|#1| |#2| |#1|)) + (SIGNATURE |concat| (|#1| |#1| |#2|)) + (SIGNATURE |maxIndex| + ((|Integer|) |#1|)) + (SIGNATURE |indices| + ((|List| (|Integer|)) |#1|)) + (SIGNATURE |index?| + ((|Boolean|) (|Integer|) |#1|))) + (|LinearAggregate| |#2|) (|Type|)) + |$CategoryFrame|)))) |