aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-30 20:09:18 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-30 20:09:18 +0000
commit91e29dea40e9ca5a2d7d566bdc91c9542492ac14 (patch)
tree9487e0c1b9a18a6a78de5efcf97722cebab2d2c6 /src/interp/define.boot
parentd76c902f18d1ee40c52372c37336631c0f81bfc8 (diff)
downloadopen-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.boot10
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]