diff options
author | dos-reis <gdr@axiomatics.org> | 2009-04-23 15:19:26 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-04-23 15:19:26 +0000 |
commit | 007980660ba03555922525f9f7ee5b0f59ef41b1 (patch) | |
tree | f89bb6a59c149620f9fca5fe091b969e42a23872 /src/interp | |
parent | 461221b5ee886e30778b65765aaaedf4e0b76c36 (diff) | |
download | open-axiom-007980660ba03555922525f9f7ee5b0f59ef41b1.tar.gz |
* interp/c-util.boot (extendsCategoryForm): Use current category
body instead of previous previous version of it.
* algebra/Makefile.pamphlet: Remove ES from bootstrap layer.
Build it (and dependencies) at layer 1.
* algebra/strap/ES.lsp: Remove.
* algebra/strap/ES-.lsp: Likewise.
* algebra/boolean.spad.pamphlet (Boolean): Don't use outputForm.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/c-util.boot | 7 | ||||
-rw-r--r-- | src/interp/define.boot | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index 89173ac0..8a305c37 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -54,6 +54,8 @@ $Representation := nil $formalArgList := [] +++ The formal body of the category being currently compiled. +$currentCategoryBody := nil $compErrorMessageStack := nil @@ -735,6 +737,11 @@ extendsCategoryForm(domain,form,form') == form is ["CATEGORY",.,:l] => member(form',l) or stackWarning('"not known that %1 is of mode %2p",[form',form]) or true + -- if we are compiling the category `form', then we should look at + -- the body as provided in the current definition, not a version + -- possibly compiled previously that may have changed. + form = $functorForm => + extendsCategoryForm(domain, $currentCategoryBody, form') isCategoryForm(form,$EmptyEnvironment) => --Constructs the associated vector formVec:=(compMakeCategoryObject(form,$e)).expr diff --git a/src/interp/define.boot b/src/interp/define.boot index 42414d08..70ce8656 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -478,7 +478,7 @@ compDefineCategory2(form,signature,specialCases,body,m,e, $functorForm:= $form:= [$op,:sargl] $formalArgList:= [:sargl,:$formalArgList] aList:= [[a,:sa] for a in argl for sa in sargl] - formalBody:= SUBLIS(aList,body) + $currentCategoryBody : local := formalBody:= SUBLIS(aList,body) signature' := SUBLIS(aList,signature') --Begin lines for category default definitions $functionStats: local:= [0,0] |