aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-11-24 05:57:15 +0000
committerdos-reis <gdr@axiomatics.org>2011-11-24 05:57:15 +0000
commit09eb84d27b5f7e381a887ea1a8eb3000a93a6017 (patch)
treec57bf244a014ee73584e7ff01c1a7cd796c4d971 /src
parent39c21d65868a04d915dc03b283839e221f37d498 (diff)
downloadopen-axiom-09eb84d27b5f7e381a887ea1a8eb3000a93a6017.tar.gz
* interp/functor.boot (findOperatorImplementations): Rename from
LookUpSigSlots. Tidy. Adjust caller. (makeMissingFunctionEntry): Remove as unused.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/functor.boot23
2 files changed, 13 insertions, 16 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index af9789e4..9b0cc8cc 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,11 @@
2011-11-23 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/functor.boot (findOperatorImplementations): Rename from
+ LookUpSigSlots. Tidy. Adjust caller.
+ (makeMissingFunctionEntry): Remove as unused.
+
+2011-11-23 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/define.boot ($CheckVectorList): Remove.
(compDefineFunctor1): Do not bind it.
(reportOnFunctorCompilation): Do not call displayMissingFunctions.
diff --git a/src/interp/functor.boot b/src/interp/functor.boot
index 14f79150..35737a60 100644
--- a/src/interp/functor.boot
+++ b/src/interp/functor.boot
@@ -519,9 +519,15 @@ TryGDC cond ==
cond
cond
+findOperatorImplementations opsig ==
+ if $insideCategoryPackageIfTrue then
+ opsig := substitute('$,second($functorForm),opsig)
+ removeDuplicates [u.mapImpl for u in $lisplibOperationAlist |
+ opsig = u.mapOpsig and u.mapImpl isnt [.,.,nil]]
+
SetFunctionSlots(sig,body,flag,mode) == --mode is either "original" or "adding"
null body => return nil
- for catImplem in LookUpSigSlots(sig,categoryExports $domainShell) repeat
+ for catImplem in findOperatorImplementations sig repeat
catImplem is [q,.,index] and q in '(ELT CONST) =>
if q = 'CONST and body is ['CONS,a,b] then
body := ['CONS,'IDENTITY,['FUNCALL,a,b]]
@@ -541,21 +547,6 @@ SetFunctionSlots(sig,body,flag,mode) == --mode is either "original" or "adding"
body is ['%store,:.] => body
nil
-LookUpSigSlots(sig,siglist) ==
---+ must kill any implementations below of the form (ELT $ NIL)
- if $insideCategoryPackageIfTrue then
- sig := substitute('$,second($functorForm),sig)
- siglist := $lisplibOperationAlist
- removeDuplicates [u.mapImpl for u in siglist |
- sig = u.mapOpsig and u.mapImpl isnt [.,.,nil]]
-
-makeMissingFunctionEntry(alist,i) ==
- tran applySubst(alist,$SetFunctions.i) where
- tran x ==
- x is ["HasCategory",a,['QUOTE,b]] => ["has",a,b]
- x is [op,:l] and op in '(AND OR NOT) => [op,:[tran y for y in l]]
- x
-
--% Under what conditions may views exist?
InvestigateConditions(catvecListMaker,env) ==