diff options
author | dos-reis <gdr@axiomatics.org> | 2011-10-30 20:09:18 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-10-30 20:09:18 +0000 |
commit | 91e29dea40e9ca5a2d7d566bdc91c9542492ac14 (patch) | |
tree | 9487e0c1b9a18a6a78de5efcf97722cebab2d2c6 /src/interp/define.boot | |
parent | d76c902f18d1ee40c52372c37336631c0f81bfc8 (diff) | |
download | open-axiom-91e29dea40e9ca5a2d7d566bdc91c9542492ac14.tar.gz |
* interp/define.boot (compDefineCategory2): Compute dual signature
early on.
* interp/database.boot (modemapsFromCategory): Take a first
argument as a DB. Tidy. Adjust caller.
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r-- | src/interp/define.boot | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot index e65aec3b..8c8a5562 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -1057,8 +1057,10 @@ compDefineCategory2(form,signature,body,m,e,$prefix,$formalArgList) == signature':= [signature.target, :[getArgumentModeOrMoan(a,$definition,e) for a in argl]] - e:= giveFormalParametersValues(argl,e) - + e := giveFormalParametersValues(argl,e) + dbDualSignature(db) := + [true,:[isCategoryForm(t,e) for t in signature'.source]] + -- 3. replace arguments by $1,..., substitute into body, -- and introduce declarations into environment sargl:= TAKE(# argl, $TriangleVariableList) @@ -1105,11 +1107,9 @@ compDefineCategory2(form,signature,body,m,e,$prefix,$formalArgList) == $domainShell := eval [op',:[MKQ f for f in sargl]] dbConstructorModemap(db) := [[parForm,:parSignature],[buildConstructorCondition db,$op]] - dbDualSignature(db) := - [true,:[isCategoryForm(t,e) for t in dbConstructorModemap(db).mmSource]] dbPrincipals(db) := getParentsFor(db,$FormalMapVariableList) dbAncestors(db) := computeAncestorsOf($form,nil) - dbModemaps(db) := modemapsFromCategory([op',:sargl],formalBody,signature') + dbModemaps(db) := modemapsFromCategory(db,[op',:sargl],formalBody,signature') dbCompilerData(db) := nil [fun,$Category,e] |