diff options
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/functor.boot | 15 |
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 |