aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-07-11 12:01:35 +0000
committerdos-reis <gdr@axiomatics.org>2010-07-11 12:01:35 +0000
commit7dee86947c3b587f0b365eeb3a8c0cb3c5510c3c (patch)
tree20dc0c94ee739c1acf1462ebba3fe20c851c52bf /src/interp/database.boot
parent452dc63a67da26ebe9e1578378512d7884775f3e (diff)
downloadopen-axiom-7dee86947c3b587f0b365eeb3a8c0cb3c5510c3c.tar.gz
* interp/database.boot (markUnique): Remove.
($FunctionDescriptorTail): Likewise. (getOperationAlistFromLisplib): Likewise. (getOplistForConstructorForm): Adjust. * interp/br-op1.boot (getDomainOpTable): Likewise. * interp/br-op2.boot (koOps): Likewise. * interp/define.boot (genDomainViewList): Likewise. * interp/i-analy.boot (namedConstant): Likewise. * interp/i-coerce.boot (getConstantFromDomain): Likewise. * interp/i-funsel.boot (isOpInDomain): Likewise. (findCommonSigInDomain): Likewise. (findUniqueOpInDomain): Likewise. (hasSig): Likewise. * interp/i-spec2.boot (constantInDomain?): Likewise. * interp/trace.boot (spadTrace): Likewise. * interp/lisplib.boot (transformOperationAlist): Simplify.
Diffstat (limited to 'src/interp/database.boot')
-rw-r--r--src/interp/database.boot34
1 files changed, 1 insertions, 33 deletions
diff --git a/src/interp/database.boot b/src/interp/database.boot
index 6f597615..040f5cb6 100644
--- a/src/interp/database.boot
+++ b/src/interp/database.boot
@@ -671,45 +671,13 @@ loadDependents fn ==
--% Miscellaneous Stuff
-markUnique x ==
- u := first x
- x.first := '(_$unique)
- x.rest := [u,:rest x]
- rest x
-
-++ Tail of most function descriptors.
-$FunctionDescriptorTail == '(NIL T ELT)
-
-++ Return the list of overload sets of operations exported by
-++ the constructor `x'. This function differs from
-++ getConstructorOperationsFromDB in that it uncompresses the
-++ common tail of most function descriptors. That compression
-++ was done when the overload sets were saved in the
-++ operation database.
-getOperationAlistFromLisplib x ==
- u := getConstructorOperationsFromDB x
--- u := removeZeroOneDestructively u
- null u => u -- this can happen for Object
- CAAR u = '_$unique => rest u
- f:= $FunctionDescriptorTail
- for [op,:sigList] in u repeat
- for items in tails sigList repeat
- [sig,:r] := first items
- if r is [.,:s] then
- if s is [.,:t] then
- if t is [.] then nil
- else s.rest := QCDDR f
- else r.rest := rest f
- else items.first.rest := f
- u and markUnique u
-
getOplistForConstructorForm (form := [op,:argl]) ==
-- The new form is an op-Alist which has entries (<op> . signature-Alist)
-- where signature-Alist has entries (<signature> . item)
-- where item has form (<slotNumber> <condition> <kind>)
-- where <kind> = ELT | CONST | Subsumed | (XLAM..) ..
pairlis := pairList($FormalMapVariableList,argl)
- opAlist := getOperationAlistFromLisplib op
+ opAlist := getConstructorOperationsFromDB op
[:getOplistWithUniqueSignatures(op,pairlis,signatureAlist)
for [op,:signatureAlist] in opAlist]