diff options
author | dos-reis <gdr@axiomatics.org> | 2010-07-11 12:01:35 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-07-11 12:01:35 +0000 |
commit | 7dee86947c3b587f0b365eeb3a8c0cb3c5510c3c (patch) | |
tree | 20dc0c94ee739c1acf1462ebba3fe20c851c52bf /src/interp/database.boot | |
parent | 452dc63a67da26ebe9e1578378512d7884775f3e (diff) | |
download | open-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.boot | 34 |
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] |