aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/ALAGG.lsp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-08-16 06:00:35 +0000
committerdos-reis <gdr@axiomatics.org>2008-08-16 06:00:35 +0000
commit84db9d8c5349cb8b3e7e2d102867e53e610d7ef2 (patch)
tree0a2689194fd9e75ce8925550a4e177f3e5520684 /src/algebra/strap/ALAGG.lsp
parent3372c377eded97a0094f63cddd2e039af7066431 (diff)
downloadopen-axiom-84db9d8c5349cb8b3e7e2d102867e53e610d7ef2.tar.gz
* algebra/strap: New. Sequester cached Lisp translation of
algebra bootstrap domains here.
Diffstat (limited to 'src/algebra/strap/ALAGG.lsp')
-rw-r--r--src/algebra/strap/ALAGG.lsp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/algebra/strap/ALAGG.lsp b/src/algebra/strap/ALAGG.lsp
new file mode 100644
index 00000000..e42de7db
--- /dev/null
+++ b/src/algebra/strap/ALAGG.lsp
@@ -0,0 +1,55 @@
+
+(/VERSIONCHECK 2)
+
+(DEFPARAMETER |AssociationListAggregate;CAT| 'NIL)
+
+(DEFPARAMETER |AssociationListAggregate;AL| 'NIL)
+
+(DEFUN |AssociationListAggregate| (&REST #0=#:G1397 &AUX #1=#:G1395)
+ (DSETQ #1# #0#)
+ (LET (#2=#:G1396)
+ (COND
+ ((SETQ #2#
+ (|assoc| (|devaluateList| #1#)
+ |AssociationListAggregate;AL|))
+ (CDR #2#))
+ (T (SETQ |AssociationListAggregate;AL|
+ (|cons5| (CONS (|devaluateList| #1#)
+ (SETQ #2#
+ (APPLY
+ #'|AssociationListAggregate;| #1#)))
+ |AssociationListAggregate;AL|))
+ #2#))))
+
+(DEFUN |AssociationListAggregate;| (|t#1| |t#2|)
+ (PROG (#0=#:G1394)
+ (RETURN
+ (PROG1 (LETT #0#
+ (|sublisV|
+ (PAIR '(|t#1| |t#2|)
+ (LIST (|devaluate| |t#1|)
+ (|devaluate| |t#2|)))
+ (|sublisV|
+ (PAIR '(#1=#:G1393)
+ (LIST '(|Record| (|:| |key| |t#1|)
+ (|:| |entry| |t#2|))))
+ (COND
+ (|AssociationListAggregate;CAT|)
+ ('T
+ (LETT |AssociationListAggregate;CAT|
+ (|Join|
+ (|TableAggregate| '|t#1| '|t#2|)
+ (|ListAggregate| '#1#)
+ (|mkCategory| '|domain|
+ '(((|assoc|
+ ((|Union|
+ (|Record| (|:| |key| |t#1|)
+ (|:| |entry| |t#2|))
+ "failed")
+ |t#1| $))
+ T))
+ NIL 'NIL NIL))
+ . #2=(|AssociationListAggregate|)))))) . #2#)
+ (SETELT #0# 0
+ (LIST '|AssociationListAggregate| (|devaluate| |t#1|)
+ (|devaluate| |t#2|)))))))