aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-11-23 19:58:58 +0000
committerdos-reis <gdr@axiomatics.org>2011-11-23 19:58:58 +0000
commite2f98b591c89e7104af9f757e13edc57afbc7135 (patch)
tree1f18423d0aced6668c10acb7a8332050c1266883
parenteac0c91b725a8339ae574bfc6c18ea54ec228baa (diff)
downloadopen-axiom-e2f98b591c89e7104af9f757e13edc57afbc7135.tar.gz
* interp/functor.boot (SigSlotsMatch): Remove. Adjust caller.
(LookUpSigSlots): Tidy.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/functor.boot15
2 files changed, 7 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1efdc2da..3aa7556f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-23 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/functor.boot (SigSlotsMatch): Remove. Adjust caller.
+ (LookUpSigSlots): Tidy.
+
2011-11-22 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/define.boot (compile): Take the signature as third argument.
diff --git a/src/interp/functor.boot b/src/interp/functor.boot
index 818e197a..cf329dba 100644
--- a/src/interp/functor.boot
+++ b/src/interp/functor.boot
@@ -549,19 +549,8 @@ LookUpSigSlots(sig,siglist) ==
if $insideCategoryPackageIfTrue then
sig := substitute('$,second($functorForm),sig)
siglist := $lisplibOperationAlist
- removeDuplicates [implem for u in siglist | SigSlotsMatch(sig,first u,implem:=third u)
- and KADDR implem]
-
-SigSlotsMatch(sig,pattern,implem) ==
- sig=pattern => true
- #second sig ~= # second pattern => nil
- --second sig is the actual signature part
- first sig ~= first pattern => nil
- pat' := substitute($definition,'$,second pattern)
- sig' := substitute($definition,'$,second sig)
- sig' = pat' => true
- implem is ['Subsumed,:.] => nil
- sig' = pat'
+ removeDuplicates [u.mapImpl for u in siglist |
+ sig = u.mapOpsig and u.mapImpl isnt [.,.,nil]]
makeMissingFunctionEntry(alist,i) ==
tran applySubst(alist,$SetFunctions.i) where