aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-18 23:10:24 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-18 23:10:24 +0000
commit8eb956703b1347fe2ced725dfba56d35c6aecd74 (patch)
treeb47fb6b57b4350a6d5bb7a77ca1fd69f4ce78677
parent630b6f25ff2900a31326141b67a187a685e7e9b8 (diff)
downloadopen-axiom-8eb956703b1347fe2ced725dfba56d35c6aecd74.tar.gz
* interp/postpar.boot (displayPreCompilationErrors): Dot not check
for interactive mode. (postBigFloat): Likewise. (postDef): Likewise. (postMDef): Likewise. (tuple2List): Likewise. (postReduce): Likewise. (postQUOTE): Remove. (postQuot): Likewise. (postOp): Likewise. (postTran): Adjust. * interp/newaux.lisp: Replace %LET with ':='. * interp/property.lisp: Likewise. * interp/g-util.boot (getTypeOfSyntax): Likewise. * interp/define.boot (checkRepresentation): Likewise. (doIt): Likewise. * interp/compiler.boot (compSetq): Likewise. (compRecoverGuard): Likewise. (compReduce1): Likewise. * interp/c-util.boot (lhsOfAssignment): Likewise. (isAlmostSimple): Likewise. * interp/c-doc.boot (recordAttributeDocumentation): Likewise. * interp/parse.boot (parseLeftArrow): Remove. (parseLETD): Likewise. (parseAssign): Rename from parseLET. * algebra/syntax.spad.pamphlet (SpadAst): Handle both cases.
-rw-r--r--src/ChangeLog29
-rw-r--r--src/algebra/syntax.spad.pamphlet4
-rw-r--r--src/interp/c-doc.boot2
-rw-r--r--src/interp/c-util.boot6
-rw-r--r--src/interp/compiler.boot12
-rw-r--r--src/interp/define.boot6
-rw-r--r--src/interp/g-util.boot2
-rw-r--r--src/interp/newaux.lisp2
-rw-r--r--src/interp/parse.boot27
-rw-r--r--src/interp/postpar.boot46
-rw-r--r--src/interp/property.lisp5
-rw-r--r--src/interp/spad-parser.boot2
-rw-r--r--src/interp/spad.lisp9
-rw-r--r--src/share/algebra/browse.daase2
-rw-r--r--src/share/algebra/category.daase2
-rw-r--r--src/share/algebra/compress.daase2
-rw-r--r--src/share/algebra/interp.daase4
-rw-r--r--src/share/algebra/operation.daase2
18 files changed, 75 insertions, 89 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8d9f41cc..0762948a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,32 @@
+2011-10-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/postpar.boot (displayPreCompilationErrors): Dot not check
+ for interactive mode.
+ (postBigFloat): Likewise.
+ (postDef): Likewise.
+ (postMDef): Likewise.
+ (tuple2List): Likewise.
+ (postReduce): Likewise.
+ (postQUOTE): Remove.
+ (postQuot): Likewise.
+ (postOp): Likewise.
+ (postTran): Adjust.
+ * interp/newaux.lisp: Replace %LET with ':='.
+ * interp/property.lisp: Likewise.
+ * interp/g-util.boot (getTypeOfSyntax): Likewise.
+ * interp/define.boot (checkRepresentation): Likewise.
+ (doIt): Likewise.
+ * interp/compiler.boot (compSetq): Likewise.
+ (compRecoverGuard): Likewise.
+ (compReduce1): Likewise.
+ * interp/c-util.boot (lhsOfAssignment): Likewise.
+ (isAlmostSimple): Likewise.
+ * interp/c-doc.boot (recordAttributeDocumentation): Likewise.
+ * interp/parse.boot (parseLeftArrow): Remove.
+ (parseLETD): Likewise.
+ (parseAssign): Rename from parseLET.
+ * algebra/syntax.spad.pamphlet (SpadAst): Handle both cases.
+
2011-10-17 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/spad-parser.boot (parseSegmentTail): Tidy.
diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet
index bd908bf0..a74815e1 100644
--- a/src/algebra/syntax.spad.pamphlet
+++ b/src/algebra/syntax.spad.pamphlet
@@ -1766,7 +1766,7 @@ SpadAst(): SpadAstExports() == add
x case SequenceAst == isAst(x,'SEQ)
autoCoerce(x: %): SequenceAst == x : SequenceAst
- x case LetAst == isAst(x,'_%LET)
+ x case LetAst == isAst(x,'_%LET) or isAst(x,'_:_=)
autoCoerce(x: %): LetAst == x : LetAst
x case SuchThatAst == isAst(x,'_|)
@@ -1806,7 +1806,7 @@ SpadAst(): SpadAstExports() == add
op = '_exit => x:ExitAst::OutputForm
op = '_return => x:ReturnAst::OutputForm
op = 'SEQ => x:SequenceAst::OutputForm
- op = '%LET => x:LetAst::OutputForm
+ op = '%LET or op = '_:_= => x:LetAst::OutputForm
op = '_pretend => x:PretendAst::OutputForm
op = '_:_: => x:CoerceAst::OutputForm
op = '_@ => x:RestrictAst::OutputForm
diff --git a/src/interp/c-doc.boot b/src/interp/c-doc.boot
index 0b341a16..63473e10 100644
--- a/src/interp/c-doc.boot
+++ b/src/interp/c-doc.boot
@@ -97,7 +97,7 @@ readForDoc fn ==
recordSignatureDocumentation(opSig,lineno) ==
recordDocumentation(rest postTransform opSig,lineno)
-recordAttributeDocumentation(['%Attribute,att],lineno) ==
+recordAttributeDocumentation(['ATTRIBUTE,att],lineno) ==
name := opOf att
upperCase? stringChar(symbolName name,0) => nil
recordDocumentation([name,['attribute,:IFCDR postTransform att]],lineno)
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index 8145cd36..a6931e5c 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -510,7 +510,7 @@ makeCommonEnvironment(e,e') ==
++ Return the lexically leftmost location in an assignment for.
lhsOfAssignment x ==
- x is ["%LET",lhs,:.] => lhsOfAssignment lhs
+ x is [":=",lhs,:.] => lhsOfAssignment lhs
x
getSuccessEnvironment(a,e) ==
@@ -793,9 +793,9 @@ isAlmostSimple x ==
[op,y,:l]:= x
op="has" => x
op="is" => x
- op="%LET" =>
+ op=":=" =>
ident? y => (setAssignment [x]; y)
- (setAssignment [["%LET",g:= genVariable(),:l],["%LET",y,g]]; g)
+ (setAssignment [[":=",g:= genVariable(),:l],[":=",y,g]]; g)
op = "case" and ident? y => x
isSideEffectFree op => [op,:mapInto(rest x, function fn)]
$assignmentList:= "failed"
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 5a93d546..44dc7d4d 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -780,7 +780,7 @@ compCons1(["CONS",x,y],m,e) ==
compSetq: (%Instantiation,%Mode,%Env) -> %Maybe %Triple
compSetq1: (%Form,%Form,%Mode,%Env) -> %Maybe %Triple
-compSetq(["%LET",form,val],m,E) ==
+compSetq([":=",form,val],m,E) ==
compSetq1(form,val,m,E)
compSetq1(form,val,m,E) ==
@@ -2078,7 +2078,7 @@ compRecoverGuard(x,t,sn,sm,e) ==
-- assignment scope (e.g. "%LET") as opposed to local assignment
-- because the recovered type may be needed in the body of
-- the alternative.
- varDef := ["%LET",[":",var',$Type],
+ varDef := [":=",[":",var',$Type],
[["elt",["Foreign","Builtin"],"evalDomain"],
[["elt",["Foreign","Builtin"],"CAR"], sn]]]
[def,.,e] := compOrCroak(varDef,$EmptyMode,e)
@@ -2247,11 +2247,11 @@ compReduce1(form is ["REDUCE",op,.,collectForm],m,e,$formalArgList) ==
itl := [([.,e]:= compIterator(x,e) or return "failed").0 for x in itl]
itl="failed" => return nil
b := gensym() -- holds value of the body
- [bval,bmode,e] := comp(['%LET,b,body],$EmptyMode,e) or return nil
+ [bval,bmode,e] := comp([":=",b,body],$EmptyMode,e) or return nil
accu := gensym() -- holds value of the accumulator
- [move,.,e] := comp(['%LET,accu,b],$EmptyMode,e) or return nil
+ [move,.,e] := comp([":=",accu,b],$EmptyMode,e) or return nil
move.op := '%store -- in reality, we are not defining a new variable
- [update,mode,e] := comp(['%LET,accu,[op,accu,b]],m,e) or return nil
+ [update,mode,e] := comp([":=",accu,[op,accu,b]],m,e) or return nil
update.op := '%store -- just update the accumulation variable.
nval :=
id := getIdentity(op,e) => u.expr where
@@ -2674,7 +2674,7 @@ for x in [["|", :"compSuchthat"],_
["is", :"compIs"],_
["Join", :"compJoin"],_
["leave", :"compLeave"],_
- ["%LET", :"compSetq"],_
+ [":=", :"compSetq"],_
["MDEF", :"compMacro"],_
["not", :"compLogicalNot"],_
["pretend", :"compPretend"],_
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 3c73dfb0..05e87331 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -732,7 +732,7 @@ checkRepresentation(addForm,body,env) ==
-- Locate possible Rep definition
for [stmt,:.] in tails body repeat
- stmt is ["%LET","Rep",val] =>
+ stmt is [":=","Rep",val] =>
domainRep ~= nil =>
stackAndThrow('"You cannot assign to constant domain %1b",["Rep"])
if addForm = val then
@@ -766,7 +766,7 @@ checkRepresentation(addForm,body,env) ==
stackAndThrow('"You cannot specify type for %1b",["Rep"])
-- Now, trick the rest of the compiler into believing that
-- `Rep' was defined the Old Way, for lookup purpose.
- stmt.op := "%LET"
+ stmt.op := ":="
stmt.rest := ["Rep",domainRep]
$useRepresentationHack := false -- Don't confuse `Rep' and `%'.
@@ -2224,7 +2224,7 @@ doIt(item,$predl) ==
item.op := u.op
item.rest := rest u
doIt(item,$predl)
- item is ["%LET",lhs,rhs,:.] =>
+ item is [":=",lhs,rhs,:.] =>
compOrCroak(item,$EmptyMode,$e) isnt [code,.,$e] =>
stackSemanticError(["cannot compile assigned value to",:bright lhs],nil)
not (code is ["%LET",lhs',rhs',:.] and lhs' isnt [.,:.]) =>
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index f49a61ec..de1ad58d 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -371,7 +371,7 @@ getTypeOfSyntax t ==
op = "pretend" => '(PretendAst)
op = "::" => '(CoerceAst)
op = "@" => '(RestrictAst)
- op = "%LET" => '(LetAst)
+ op = "%LET" or op = ":=" => '(LetAst)
op = "|" => '(SuchThatAst)
op = ":" => '(ColonAst)
op = ":=" => '(LetAst)
diff --git a/src/interp/newaux.lisp b/src/interp/newaux.lisp
index 3e85eb7d..2d937c33 100644
--- a/src/interp/newaux.lisp
+++ b/src/interp/newaux.lisp
@@ -127,7 +127,7 @@
(== DEF 122 121)
(==> MDEF 122 121)
(\| 108 111) ;was 190 190
- (\:- LETD 125 124) (\:= %LET 125 124)))
+ (\:- 125 124) (\:= 125 124)))
(mapcar #'(LAMBDA (J) (MAKENEWOP J `|Nud|))
'((|for| 130 350 (|parseLoop|))
diff --git a/src/interp/parse.boot b/src/interp/parse.boot
index f980de7c..8fd23a1c 100644
--- a/src/interp/parse.boot
+++ b/src/interp/parse.boot
@@ -97,11 +97,6 @@ parseConstruct u ==
$insideConstructIfTrue: local:= true
[first u,:parseTranList rest u]
--- ??? This parser is unused at the moment.
-parseLeftArrow: %ParseForm -> %Form
-parseLeftArrow u ==
- parseTran ["%LET",:rest u]
-
parseIs: %ParseForm -> %Form
parseIs t ==
t isnt ["is",a,b] => systemErrorHere ["parseIs",t]
@@ -139,19 +134,14 @@ transIs1 u ==
[h,:v]
u
-parseLET: %ParseForm -> %Form
-parseLET t ==
- t isnt ["%LET",x,y] => systemErrorHere ["parseLET",t]
- p := ["%LET",parseTran x,parseTranCheckForRecord(y,opOf x)]
- opOf x = "cons" => ["%LET",transIs p.1,p.2]
+parseAssign: %ParseForm -> %Form
+parseAssign t ==
+ t isnt [":=",x,y] => systemErrorHere ["parseAssign",t]
+ p := [":=",parseTran x,parseTranCheckForRecord(y,opOf x)]
+ opOf x = "cons" => [":=",transIs p.1,p.2]
p
-parseLETD: %ParseForm -> %Form
-parseLETD t ==
- t isnt ["LETD",x,y] => systemErrorHere ["parseLETD",t]
- ["%Decl",parseTran x,parseTran y]
-
parseColon: %ParseForm -> %Form
parseColon u ==
u isnt [":",:.] => systemErrorHere ["parseColon",u]
@@ -355,7 +345,7 @@ makeSimplePredicateOrNil: %ParseForm -> %Form
makeSimplePredicateOrNil p ==
isSimple p => nil
u:= isAlmostSimple p => u
- wrapSEQExit [["%LET",g:= gensym(),p],g]
+ wrapSEQExit [[":=",g:= gensym(),p],g]
parseWhere: %List %Form -> %Form
@@ -378,7 +368,7 @@ transSeq l ==
l is [x] => decExitLevel x
[item,:tail] := l
item is ["SEQ",:l,["exit",1,["IF",p,["exit", =2,q],"%noBranch"]]] and
- (and/[x is ["%LET",:.] for x in l]) =>
+ (and/[x is [":=",:.] for x in l]) =>
["SEQ",:[decExitLevel x for x in l],["exit",1,["IF",decExitLevel p,
decExitLevel q,transSeq tail]]]
item is ["IF",a,["exit",1,b],"%noBranch"] =>
@@ -457,8 +447,7 @@ for x in [[":", :"parseColon"],_
["isnt", :"parseIsnt"],_
["Join", :"parseJoin"],_
["leave", :"doParseLeave"],_
- ["%LET", :"parseLET"],_
- ["LETD", :"parseLETD"],_
+ [":=", :"parseAssign"],_
["MDEF", :"parseMDEF"],_
["or", :"parseOr"],_
["pretend", :"parsePretend"],_
diff --git a/src/interp/postpar.boot b/src/interp/postpar.boot
index aba24540..e4148a8f 100644
--- a/src/interp/postpar.boot
+++ b/src/interp/postpar.boot
@@ -66,13 +66,10 @@ displayPreCompilationErrors() ==
errors:=
1<n => '"errors"
'"error"
- if $InteractiveMode
- then sayBrightly ['" Semantic ",errors,'" detected: "]
- else
- heading:=
- $topOp ~= '$topOp => ['" ",$topOp,'" has"]
- ['" You have"]
- sayBrightly [:heading,'"%b",n,'"%d",'"precompilation ",errors,'":"]
+ heading:=
+ $topOp ~= '$topOp => ['" ",$topOp,'" has"]
+ ['" You have"]
+ sayBrightly [:heading,'"%b",n,'"%d",'"precompilation ",errors,'":"]
if 1<n then
(for x in $postStack for i in 1.. repeat sayMath ['" ",i,'"_) ",:x])
else sayMath ['" ",:first $postStack]
@@ -83,11 +80,11 @@ postTran x ==
x isnt [.,:.] =>
postAtom x
op := first x
+ op is 'QUOTE => x
symbol? op and (f:= property(op,'postTran)) => FUNCALL(f,x)
op is ["elt",a,b] =>
u:= postTran [b,:rest x]
[postTran op,:rest u]
- op ~= (y:= postOp op) => [y,:postTranList rest x]
postForm x
postTranList: %List %ParseTree -> %List %ParseForm
@@ -97,8 +94,7 @@ postTranList x ==
postBigFloat: %ParseTree -> %ParseTree
postBigFloat x ==
[.,mant,:expon] := x
- eltword := if $InteractiveMode then "$elt" else "elt"
- postTran [[eltword,$Float,"float"],[",",[",",mant,expon],10]]
+ postTran [['elt,$Float,"float"],[",",[",",mant,expon],10]]
postAdd: %ParseTree -> %ParseForm
postAdd x ==
@@ -122,10 +118,6 @@ postCapsule x ==
op = "if" => ["CAPSULE",postBlockItem x]
checkWarningIndentation()
-postQUOTE: %ParseTree -> %ParseForm
-postQUOTE x ==
- x
-
postColon: %ParseTree -> %ParseForm
postColon u ==
u is [":",x] => [":",postTran x]
@@ -157,7 +149,7 @@ postError: %Thing -> %Thing
postError msg ==
BUMPERRORCOUNT 'precompilation
xmsg:=
- $defOp ~= nil and not $InteractiveMode => [$defOp,'": ",:msg]
+ $defOp ~= nil => [$defOp,'": ",:msg]
msg
$postStack:= [xmsg,:$postStack]
nil
@@ -226,7 +218,7 @@ postDef t ==
[form,targetType]:=
lhs is [":",:.] => rest lhs
[lhs,nil]
- if not $InteractiveMode and form isnt [.,:.] then form := [form]
+ if form isnt [.,:.] then form := [form]
newLhs:=
form isnt [.,:.] => form
[op,:argl]:= [(x is [":",a,.] => a; x) for x in form]
@@ -253,11 +245,7 @@ postDefArgs argl ==
postMDef: %ParseTree -> %ParseForm
postMDef(t) ==
[.,lhs,rhs] := t
- $InteractiveMode =>
- lhs := postTran lhs
- not ident? lhs => throwKeyedMsg("S2IP0001",nil)
- ["MDEF",lhs,nil,nil,postTran rhs]
- lhs:= postTran lhs
+ lhs := postTran lhs
[form,targetType]:=
lhs is [":",:.] => rest lhs
[lhs,nil]
@@ -308,10 +296,6 @@ postForm u ==
x is [.,["%Comma",:y]] => [first x,:y]
x
-postQuote: %ParseTree -> %ParseForm
-postQuote [.,a] ==
- quote a
-
postIf: %ParseTree -> %ParseForm
postIf t ==
t isnt ["if",:l] => t
@@ -334,13 +318,6 @@ postMapping u ==
u isnt ["->",source,target] => u
["Mapping",postTran target,:unComma postTran source]
-postOp: %ParseTree -> %ParseForm
-postOp x ==
- x=":=" => "%LET"
- x=":-" => "LETD"
- x="%Attribute" => "ATTRIBUTE"
- x
-
postRepeat: %ParseTree -> %ParseForm
postRepeat t ==
t isnt ["REPEAT",:m,x] => systemErrorHere ["postRepeat",t]
@@ -400,8 +377,6 @@ tuple2List l ==
u:= tuple2List l'
a is ["SEGMENT",p,q] =>
null u => ["construct",postTranSegment(p,q)]
- $InteractiveMode =>
- ["append",["construct",postTranSegment(p,q)],tuple2List l']
["nconc",["construct",postTranSegment(p,q)],tuple2List l']
null u => ["construct",postTran a]
["cons",postTran a,tuple2List l']
@@ -414,7 +389,7 @@ SEGMENT(a,b) ==
postReduce: %ParseTree -> %ParseForm
postReduce t ==
t isnt ["%Reduce",op,expr] => systemErrorHere ["postReduce",t]
- $InteractiveMode or expr is ["COLLECT",:.] =>
+ expr is ["COLLECT",:.] =>
["REDUCE",op,0,postTran expr]
postReduce ["%Reduce",op,["COLLECT",["IN",g:= gensym(),expr],
["construct", g]]]
@@ -544,7 +519,6 @@ for x in [["with", :"postWith"],_
["/", :"postSlash"],_
["construct", :"postConstruct"],_
["%Block", :"postBlock"],_
- ["QUOTE", :"postQUOTE"],_
["COLLECT", :"postCollect"],_
[":BF:", :"postBigFloat"],_
["in", :"postin"],_
diff --git a/src/interp/property.lisp b/src/interp/property.lisp
index de9719a4..94163971 100644
--- a/src/interp/property.lisp
+++ b/src/interp/property.lisp
@@ -63,9 +63,12 @@
(MAKEPROP 'SEGMENT '|Led| '(|..| SEGMENT 401 699 (|P:Seg|)))
(MAKEPROP 'SEGMENT '|isSuffix| 'T)
(MAKEPROP 'EQUAL1 'CHRYBNAM 'EQ)
+(MAKEPROP 'COND '|Nud| '(|if| |if| 130 0))
+(MAKEPROP 'CONS '|Led| '(CONS CONS 1000 1000))
+(MAKEPROP 'APPEND '|Led| '(APPEND APPEND 1000 1000))
(REPEAT (IN X '(
- (%LET " := ")
+ (|:=| " := ")
(= "=")
(|/| "/")
(+ "+")
diff --git a/src/interp/spad-parser.boot b/src/interp/spad-parser.boot
index 894907b2..0eb18815 100644
--- a/src/interp/spad-parser.boot
+++ b/src/interp/spad-parser.boot
@@ -383,7 +383,7 @@ parseCategory() ==
pushReduction('parseCategory,["%Signature",popStack2(),popStack1()])
recordSignatureDocumentation(nthStack 1,g)
true
- pushReduction('parseCategory,["%Attribute",popStack1()])
+ pushReduction('parseCategory,["ATTRIBUTE",popStack1()])
recordAttributeDocumentation(nthStack 1,g)
true
nil
diff --git a/src/interp/spad.lisp b/src/interp/spad.lisp
index fc517d67..2de5aaaa 100644
--- a/src/interp/spad.lisp
+++ b/src/interp/spad.lisp
@@ -340,15 +340,6 @@
(FLAG TEMPGENSYMLIST 'IS-GENSYM)
-(MAKEPROP 'COND '|Nud| '(|if| |if| 130 0))
-(MAKEPROP 'CONS '|Led| '(CONS CONS 1000 1000))
-(MAKEPROP 'APPEND '|Led| '(APPEND APPEND 1000 1000))
-(MAKEPROP 'TAG '|Led| '(TAG TAG 122 121))
-(MAKEPROP 'EQUATNUM '|Nud| '(|dummy| |dummy| 0 0))
-(MAKEPROP 'EQUATNUM '|Led| '(|dummy| |dummy| 10000 0))
-(MAKEPROP '%LET '|Led| '(:= %LET 125 124))
-(MAKEPROP 'RARROW '|Led| '(== DEF 122 121))
-(MAKEPROP 'SEGMENT '|Led| '(\.\. SEGMENT 401 699 (|boot-Seg|)))
;; NAME: DECIMAL-LENGTH
;; PURPOSE: Computes number of decimal digits in print representation of x
diff --git a/src/share/algebra/browse.daase b/src/share/algebra/browse.daase
index e2bbd819..8a8d280d 100644
--- a/src/share/algebra/browse.daase
+++ b/src/share/algebra/browse.daase
@@ -1,5 +1,5 @@
-(2004998 . 3527714197)
+(2004998 . 3527958790)
(-18 A S)
((|constructor| (NIL "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 (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 (and often can be optimized to open-code). Insertion and deletion however is generally slow since an entirely new data structure must be created for the result.")))
NIL
diff --git a/src/share/algebra/category.daase b/src/share/algebra/category.daase
index 7991887f..4ce6b2ef 100644
--- a/src/share/algebra/category.daase
+++ b/src/share/algebra/category.daase
@@ -1,5 +1,5 @@
-(198618 . 3527714200)
+(198618 . 3527958793)
((((-765)) . T))
((((-765)) . T))
((((-765)) . T))
diff --git a/src/share/algebra/compress.daase b/src/share/algebra/compress.daase
index d1933c10..ebbeb1aa 100644
--- a/src/share/algebra/compress.daase
+++ b/src/share/algebra/compress.daase
@@ -1,5 +1,5 @@
-(30 . 3527714196)
+(30 . 3527958789)
(3982 |Enumeration| |Mapping| |Record| |Union| |ofCategory| |isDomain|
ATTRIBUTE |package| |domain| |category| CATEGORY |nobranch| AND |Join|
|ofType| SIGNATURE "failed" "algebra" |OneDimensionalArrayAggregate&|
diff --git a/src/share/algebra/interp.daase b/src/share/algebra/interp.daase
index 977ffe9c..40a86ff1 100644
--- a/src/share/algebra/interp.daase
+++ b/src/share/algebra/interp.daase
@@ -1,5 +1,5 @@
-(2797332 . 3527714206)
+(2797332 . 3527958797)
((-1719 (((-83) (-1 (-83) |#2| |#2|) $) 86 T ELT) (((-83) $) NIL T ELT)) (-1717 (($ (-1 (-83) |#2| |#2|) $) 18 T ELT) (($ $) NIL T ELT)) (-3772 ((|#2| $ (-478) |#2|) NIL T ELT) ((|#2| $ (-1135 (-478)) |#2|) 44 T ELT)) (-2283 (($ $) 80 T ELT)) (-3826 ((|#2| (-1 |#2| |#2| |#2|) $ |#2| |#2|) 52 T ELT) ((|#2| (-1 |#2| |#2| |#2|) $ |#2|) 50 T ELT) ((|#2| (-1 |#2| |#2| |#2|) $) 49 T ELT)) (-3403 (((-478) (-1 (-83) |#2|) $) 27 T ELT) (((-478) |#2| $) NIL T ELT) (((-478) |#2| $ (-478)) 96 T ELT)) (-2873 (((-578 |#2|) $) 13 T ELT)) (-3502 (($ (-1 (-83) |#2| |#2|) $ $) 64 T ELT) (($ $ $) NIL T ELT)) (-1936 (($ (-1 |#2| |#2|) $) 37 T ELT)) (-3942 (($ (-1 |#2| |#2|) $) NIL T ELT) (($ (-1 |#2| |#2| |#2|) $ $) 60 T ELT)) (-2290 (($ |#2| $ (-478)) NIL T ELT) (($ $ $ (-478)) 67 T ELT)) (-1341 (((-3 |#2| "failed") (-1 (-83) |#2|) $) 29 T ELT)) (-1934 (((-83) (-1 (-83) |#2|) $) 23 T ELT)) (-3784 ((|#2| $ (-478) |#2|) NIL T ELT) ((|#2| $ (-478)) NIL T ELT) (($ $ (-1135 (-478))) 66 T ELT)) (-2291 (($ $ (-478)) 76 T ELT) (($ $ (-1135 (-478))) 75 T ELT)) (-1933 (((-687) (-1 (-83) |#2|) $) 34 T ELT) (((-687) |#2| $) NIL T ELT)) (-1718 (($ $ $ (-478)) 69 T ELT)) (-3384 (($ $) 68 T ELT)) (-3514 (($ (-578 |#2|)) 73 T ELT)) (-3786 (($ $ |#2|) NIL T ELT) (($ |#2| $) NIL T ELT) (($ $ $) 87 T ELT) (($ (-578 $)) 85 T ELT)) (-3930 (((-765) $) 92 T ELT)) (-1935 (((-83) (-1 (-83) |#2|) $) 22 T ELT)) (-3040 (((-83) $ $) 95 T ELT)) (-2669 (((-83) $ $) 99 T ELT)))
(((-18 |#1| |#2|) (-10 -7 (-15 -3040 ((-83) |#1| |#1|)) (-15 -3930 ((-765) |#1|)) (-15 -2669 ((-83) |#1| |#1|)) (-15 -1717 (|#1| |#1|)) (-15 -1717 (|#1| (-1 (-83) |#2| |#2|) |#1|)) (-15 -2283 (|#1| |#1|)) (-15 -1718 (|#1| |#1| |#1| (-478))) (-15 -1719 ((-83) |#1|)) (-15 -3502 (|#1| |#1| |#1|)) (-15 -3403 ((-478) |#2| |#1| (-478))) (-15 -3403 ((-478) |#2| |#1|)) (-15 -3403 ((-478) (-1 (-83) |#2|) |#1|)) (-15 -1719 ((-83) (-1 (-83) |#2| |#2|) |#1|)) (-15 -3502 (|#1| (-1 (-83) |#2| |#2|) |#1| |#1|)) (-15 -3772 (|#2| |#1| (-1135 (-478)) |#2|)) (-15 -2290 (|#1| |#1| |#1| (-478))) (-15 -2290 (|#1| |#2| |#1| (-478))) (-15 -2291 (|#1| |#1| (-1135 (-478)))) (-15 -2291 (|#1| |#1| (-478))) (-15 -3942 (|#1| (-1 |#2| |#2| |#2|) |#1| |#1|)) (-15 -3786 (|#1| (-578 |#1|))) (-15 -3786 (|#1| |#1| |#1|)) (-15 -3786 (|#1| |#2| |#1|)) (-15 -3786 (|#1| |#1| |#2|)) (-15 -3784 (|#1| |#1| (-1135 (-478)))) (-15 -3514 (|#1| (-578 |#2|))) (-15 -1341 ((-3 |#2| "failed") (-1 (-83) |#2|) |#1|)) (-15 -3826 (|#2| (-1 |#2| |#2| |#2|) |#1|)) (-15 -3826 (|#2| (-1 |#2| |#2| |#2|) |#1| |#2|)) (-15 -3826 (|#2| (-1 |#2| |#2| |#2|) |#1| |#2| |#2|)) (-15 -3784 (|#2| |#1| (-478))) (-15 -3784 (|#2| |#1| (-478) |#2|)) (-15 -3772 (|#2| |#1| (-478) |#2|)) (-15 -1933 ((-687) |#2| |#1|)) (-15 -2873 ((-578 |#2|) |#1|)) (-15 -1933 ((-687) (-1 (-83) |#2|) |#1|)) (-15 -1934 ((-83) (-1 (-83) |#2|) |#1|)) (-15 -1935 ((-83) (-1 (-83) |#2|) |#1|)) (-15 -1936 (|#1| (-1 |#2| |#2|) |#1|)) (-15 -3942 (|#1| (-1 |#2| |#2|) |#1|)) (-15 -3384 (|#1| |#1|))) (-19 |#2|) (-1118)) (T -18))
NIL
@@ -3447,7 +3447,7 @@ NIL
((-3930 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-765)))) (-3362 (*1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3362 (*1 *1 *2) (-12 (-5 *2 (-1068 3 *3)) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3361 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-687)))) (-3360 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-687)))) (-3502 (*1 *1 *2) (-12 (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3502 (*1 *1 *1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3738 (*1 *1 *2) (-12 (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3359 (*1 *2 *1) (-12 (-4 *3 (-954)) (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)))) (-3358 (*1 *2 *1) (-12 (-4 *3 (-954)) (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)))) (-3384 (*1 *1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3357 (*1 *2 *1 *3) (-12 (-5 *3 (-578 (-847 *4))) (-4 *1 (-1037 *4)) (-4 *4 (-954)) (-5 *2 (-687)))) (-3871 (*1 *1 *1 *2 *3) (-12 (-5 *2 (-687)) (-5 *3 (-847 *4)) (-4 *1 (-1037 *4)) (-4 *4 (-954)))) (-3690 (*1 *1 *1 *2) (-12 (-5 *2 (-847 *3)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3690 (*1 *1 *1 *2) (-12 (-5 *2 (-578 *3)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3690 (*1 *1 *1 *2) (-12 (-5 *2 (-687)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3690 (*1 *1 *2) (-12 (-5 *2 (-847 *3)) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3690 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-847 *3)))) (-3356 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3355 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3355 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-578 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3355 (*1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3355 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3354 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3353 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3353 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-578 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3353 (*1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3353 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3352 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3351 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3351 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-578 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3351 (*1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3351 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3350 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3349 (*1 *1 *1 *2 *3 *4) (-12 (-5 *2 (-578 (-578 (-847 *5)))) (-5 *3 (-578 (-143))) (-5 *4 (-143)) (-4 *1 (-1037 *5)) (-4 *5 (-954)))) (-3349 (*1 *1 *1 *2 *3 *4) (-12 (-5 *2 (-578 (-578 (-578 *5)))) (-5 *3 (-578 (-143))) (-5 *4 (-143)) (-4 *1 (-1037 *5)) (-4 *5 (-954)))) (-3349 (*1 *1 *1 *2 *3 *3) (-12 (-5 *2 (-578 (-578 (-847 *4)))) (-5 *3 (-83)) (-4 *1 (-1037 *4)) (-4 *4 (-954)))) (-3349 (*1 *1 *1 *2 *3 *3) (-12 (-5 *2 (-578 (-578 (-578 *4)))) (-5 *3 (-83)) (-4 *1 (-1037 *4)) (-4 *4 (-954)))) (-3349 (*1 *1 *2) (-12 (-5 *2 (-578 (-578 (-847 *3)))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3349 (*1 *1 *2 *3 *3) (-12 (-5 *2 (-578 (-578 (-847 *4)))) (-5 *3 (-83)) (-4 *4 (-954)) (-4 *1 (-1037 *4)))) (-3349 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-847 *3)))))) (-3348 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3347 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3346 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-578 (-687))))))) (-3345 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-578 (-847 *3))))))) (-3344 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-143)))))) (-3343 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-143))))) (-3342 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-2 (|:| -3834 (-687)) (|:| |curves| (-687)) (|:| |polygons| (-687)) (|:| |constructs| (-687)))))) (-3341 (*1 *1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3872 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-1068 3 *3)))))
(-13 (-1005) (-10 -8 (-15 -3362 ($)) (-15 -3362 ($ (-1068 3 |t#1|))) (-15 -3361 ((-687) $)) (-15 -3360 ((-687) $)) (-15 -3502 ($ (-578 $))) (-15 -3502 ($ $ $)) (-15 -3738 ($ (-578 $))) (-15 -3359 ((-578 $) $)) (-15 -3358 ((-578 $) $)) (-15 -3384 ($ $)) (-15 -3357 ((-687) $ (-578 (-847 |t#1|)))) (-15 -3871 ($ $ (-687) (-847 |t#1|))) (-15 -3690 ($ $ (-847 |t#1|))) (-15 -3690 ($ $ (-578 |t#1|))) (-15 -3690 ($ $ (-687))) (-15 -3690 ($ (-847 |t#1|))) (-15 -3690 ((-847 |t#1|) $)) (-15 -3356 ((-83) $)) (-15 -3355 ($ $ (-578 (-847 |t#1|)))) (-15 -3355 ($ $ (-578 (-578 |t#1|)))) (-15 -3355 ($ (-578 (-847 |t#1|)))) (-15 -3355 ((-578 (-847 |t#1|)) $)) (-15 -3354 ((-83) $)) (-15 -3353 ($ $ (-578 (-847 |t#1|)))) (-15 -3353 ($ $ (-578 (-578 |t#1|)))) (-15 -3353 ($ (-578 (-847 |t#1|)))) (-15 -3353 ((-578 (-847 |t#1|)) $)) (-15 -3352 ((-83) $)) (-15 -3351 ($ $ (-578 (-847 |t#1|)))) (-15 -3351 ($ $ (-578 (-578 |t#1|)))) (-15 -3351 ($ (-578 (-847 |t#1|)))) (-15 -3351 ((-578 (-847 |t#1|)) $)) (-15 -3350 ((-83) $)) (-15 -3349 ($ $ (-578 (-578 (-847 |t#1|))) (-578 (-143)) (-143))) (-15 -3349 ($ $ (-578 (-578 (-578 |t#1|))) (-578 (-143)) (-143))) (-15 -3349 ($ $ (-578 (-578 (-847 |t#1|))) (-83) (-83))) (-15 -3349 ($ $ (-578 (-578 (-578 |t#1|))) (-83) (-83))) (-15 -3349 ($ (-578 (-578 (-847 |t#1|))))) (-15 -3349 ($ (-578 (-578 (-847 |t#1|))) (-83) (-83))) (-15 -3349 ((-578 (-578 (-847 |t#1|))) $)) (-15 -3348 ((-83) $)) (-15 -3347 ((-578 (-847 |t#1|)) $)) (-15 -3346 ((-578 (-578 (-578 (-687)))) $)) (-15 -3345 ((-578 (-578 (-578 (-847 |t#1|)))) $)) (-15 -3344 ((-578 (-578 (-143))) $)) (-15 -3343 ((-578 (-143)) $)) (-15 -3342 ((-2 (|:| -3834 (-687)) (|:| |curves| (-687)) (|:| |polygons| (-687)) (|:| |constructs| (-687))) $)) (-15 -3341 ($ $)) (-15 -3872 ((-1068 3 |t#1|) $)) (-15 -3930 ((-765) $))))
(((-72) . T) ((-547 (-765)) . T) ((-1005) . T) ((-1118) . T))
-((-2552 (((-83) $ $) NIL T ELT)) (-3225 (((-1062) $) NIL T ELT)) (-3226 (((-1023) $) NIL T ELT)) (-3930 (((-765) $) 184 T ELT) (($ (-1084)) NIL T ELT) (((-1084) $) 7 T ELT)) (-3550 (((-83) $ (|[\|\|]| (-456))) 19 T ELT) (((-83) $ (|[\|\|]| (-170))) 23 T ELT) (((-83) $ (|[\|\|]| (-612))) 27 T ELT) (((-83) $ (|[\|\|]| (-1179))) 31 T ELT) (((-83) $ (|[\|\|]| (-109))) 35 T ELT) (((-83) $ (|[\|\|]| (-534))) 39 T ELT) (((-83) $ (|[\|\|]| (-104))) 43 T ELT) (((-83) $ (|[\|\|]| (-1019))) 47 T ELT) (((-83) $ (|[\|\|]| (-67))) 51 T ELT) (((-83) $ (|[\|\|]| (-617))) 55 T ELT) (((-83) $ (|[\|\|]| (-450))) 59 T ELT) (((-83) $ (|[\|\|]| (-970))) 63 T ELT) (((-83) $ (|[\|\|]| (-1180))) 67 T ELT) (((-83) $ (|[\|\|]| (-457))) 71 T ELT) (((-83) $ (|[\|\|]| (-1056))) 75 T ELT) (((-83) $ (|[\|\|]| (-125))) 79 T ELT) (((-83) $ (|[\|\|]| (-608))) 83 T ELT) (((-83) $ (|[\|\|]| (-259))) 87 T ELT) (((-83) $ (|[\|\|]| (-941))) 91 T ELT) (((-83) $ (|[\|\|]| (-152))) 95 T ELT) (((-83) $ (|[\|\|]| (-876))) 99 T ELT) (((-83) $ (|[\|\|]| (-977))) 103 T ELT) (((-83) $ (|[\|\|]| (-995))) 107 T ELT) (((-83) $ (|[\|\|]| (-1000))) 111 T ELT) (((-83) $ (|[\|\|]| (-560))) 115 T ELT) (((-83) $ (|[\|\|]| (-1070))) 119 T ELT) (((-83) $ (|[\|\|]| (-127))) 123 T ELT) (((-83) $ (|[\|\|]| (-108))) 127 T ELT) (((-83) $ (|[\|\|]| (-411))) 131 T ELT) (((-83) $ (|[\|\|]| (-522))) 135 T ELT) (((-83) $ (|[\|\|]| (-439))) 139 T ELT) (((-83) $ (|[\|\|]| (-1062))) 143 T ELT) (((-83) $ (|[\|\|]| (-478))) 147 T ELT)) (-1253 (((-83) $ $) NIL T ELT)) (-3556 (((-456) $) 20 T ELT) (((-170) $) 24 T ELT) (((-612) $) 28 T ELT) (((-1179) $) 32 T ELT) (((-109) $) 36 T ELT) (((-534) $) 40 T ELT) (((-104) $) 44 T ELT) (((-1019) $) 48 T ELT) (((-67) $) 52 T ELT) (((-617) $) 56 T ELT) (((-450) $) 60 T ELT) (((-970) $) 64 T ELT) (((-1180) $) 68 T ELT) (((-457) $) 72 T ELT) (((-1056) $) 76 T ELT) (((-125) $) 80 T ELT) (((-608) $) 84 T ELT) (((-259) $) 88 T ELT) (((-941) $) 92 T ELT) (((-152) $) 96 T ELT) (((-876) $) 100 T ELT) (((-977) $) 104 T ELT) (((-995) $) 108 T ELT) (((-1000) $) 112 T ELT) (((-560) $) 116 T ELT) (((-1070) $) 120 T ELT) (((-127) $) 124 T ELT) (((-108) $) 128 T ELT) (((-411) $) 132 T ELT) (((-522) $) 136 T ELT) (((-439) $) 140 T ELT) (((-1062) $) 144 T ELT) (((-478) $) 148 T ELT)) (-3040 (((-83) $ $) NIL T ELT)))
+((-2552 (((-83) $ $) NIL T ELT)) (-3225 (((-1062) $) NIL T ELT)) (-3226 (((-1023) $) NIL T ELT)) (-3930 (((-765) $) 185 T ELT) (($ (-1084)) NIL T ELT) (((-1084) $) 7 T ELT)) (-3550 (((-83) $ (|[\|\|]| (-456))) 19 T ELT) (((-83) $ (|[\|\|]| (-170))) 23 T ELT) (((-83) $ (|[\|\|]| (-612))) 27 T ELT) (((-83) $ (|[\|\|]| (-1179))) 31 T ELT) (((-83) $ (|[\|\|]| (-109))) 35 T ELT) (((-83) $ (|[\|\|]| (-534))) 39 T ELT) (((-83) $ (|[\|\|]| (-104))) 43 T ELT) (((-83) $ (|[\|\|]| (-1019))) 47 T ELT) (((-83) $ (|[\|\|]| (-67))) 51 T ELT) (((-83) $ (|[\|\|]| (-617))) 55 T ELT) (((-83) $ (|[\|\|]| (-450))) 59 T ELT) (((-83) $ (|[\|\|]| (-970))) 63 T ELT) (((-83) $ (|[\|\|]| (-1180))) 67 T ELT) (((-83) $ (|[\|\|]| (-457))) 71 T ELT) (((-83) $ (|[\|\|]| (-1056))) 75 T ELT) (((-83) $ (|[\|\|]| (-125))) 79 T ELT) (((-83) $ (|[\|\|]| (-608))) 83 T ELT) (((-83) $ (|[\|\|]| (-259))) 87 T ELT) (((-83) $ (|[\|\|]| (-941))) 91 T ELT) (((-83) $ (|[\|\|]| (-152))) 95 T ELT) (((-83) $ (|[\|\|]| (-876))) 99 T ELT) (((-83) $ (|[\|\|]| (-977))) 103 T ELT) (((-83) $ (|[\|\|]| (-995))) 107 T ELT) (((-83) $ (|[\|\|]| (-1000))) 111 T ELT) (((-83) $ (|[\|\|]| (-560))) 116 T ELT) (((-83) $ (|[\|\|]| (-1070))) 120 T ELT) (((-83) $ (|[\|\|]| (-127))) 124 T ELT) (((-83) $ (|[\|\|]| (-108))) 128 T ELT) (((-83) $ (|[\|\|]| (-411))) 132 T ELT) (((-83) $ (|[\|\|]| (-522))) 136 T ELT) (((-83) $ (|[\|\|]| (-439))) 140 T ELT) (((-83) $ (|[\|\|]| (-1062))) 144 T ELT) (((-83) $ (|[\|\|]| (-478))) 148 T ELT)) (-1253 (((-83) $ $) NIL T ELT)) (-3556 (((-456) $) 20 T ELT) (((-170) $) 24 T ELT) (((-612) $) 28 T ELT) (((-1179) $) 32 T ELT) (((-109) $) 36 T ELT) (((-534) $) 40 T ELT) (((-104) $) 44 T ELT) (((-1019) $) 48 T ELT) (((-67) $) 52 T ELT) (((-617) $) 56 T ELT) (((-450) $) 60 T ELT) (((-970) $) 64 T ELT) (((-1180) $) 68 T ELT) (((-457) $) 72 T ELT) (((-1056) $) 76 T ELT) (((-125) $) 80 T ELT) (((-608) $) 84 T ELT) (((-259) $) 88 T ELT) (((-941) $) 92 T ELT) (((-152) $) 96 T ELT) (((-876) $) 100 T ELT) (((-977) $) 104 T ELT) (((-995) $) 108 T ELT) (((-1000) $) 112 T ELT) (((-560) $) 117 T ELT) (((-1070) $) 121 T ELT) (((-127) $) 125 T ELT) (((-108) $) 129 T ELT) (((-411) $) 133 T ELT) (((-522) $) 137 T ELT) (((-439) $) 141 T ELT) (((-1062) $) 145 T ELT) (((-478) $) 149 T ELT)) (-3040 (((-83) $ $) NIL T ELT)))
(((-1038) (-1040)) (T -1038))
NIL
((-3363 (((-578 (-1084)) (-1062)) 9 T ELT)))
diff --git a/src/share/algebra/operation.daase b/src/share/algebra/operation.daase
index 391678e7..9fccbcda 100644
--- a/src/share/algebra/operation.daase
+++ b/src/share/algebra/operation.daase
@@ -1,5 +1,5 @@
-(630398 . 3527714198)
+(630398 . 3527958791)
(((*1 *2 *3 *4)
(|partial| -12 (-5 *3 (-1168 *4)) (-4 *4 (-13 (-954) (-575 (-478))))
(-5 *2 (-1168 (-343 (-478)))) (-5 *1 (-1197 *4)))))