aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-06-02 17:45:33 +0000
committerdos-reis <gdr@axiomatics.org>2013-06-02 17:45:33 +0000
commit9e4be25a5ed7f3fc4f140c590272f9c70a719412 (patch)
tree458457545ee04eeec2e94d1e2c208db56dc68b98
parent486d78fbea91e07509bc81249c44ae6014ef1d46 (diff)
downloadopen-axiom-9e4be25a5ed7f3fc4f140c590272f9c70a719412.tar.gz
Tell compForMode not to be fussy when bootstrapping the algebra.
-rw-r--r--src/interp/define.boot6
-rw-r--r--src/interp/spad.lisp1
-rw-r--r--src/interp/sys-globals.boot2
3 files changed, 8 insertions, 1 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 9063a911..2da5243b 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -2538,6 +2538,12 @@ compJoin(["Join",:argl],m,e) ==
compForMode: (%Form,%Mode,%Env) -> %Maybe %Triple
compForMode(x,m,e) ==
$compForModeIfTrue: local:= true
+ $bootStrapMode and m = $Category =>
+ op := opOf x
+ ident? op and (db := constructorDB op) =>
+ dbConstructorKind db = "category" => [x,m,e]
+ nil
+ comp(x,m,e)
comp(x,m,e)
makeCategoryForm(c,e) ==
diff --git a/src/interp/spad.lisp b/src/interp/spad.lisp
index 2f4161e5..cd69a95f 100644
--- a/src/interp/spad.lisp
+++ b/src/interp/spad.lisp
@@ -44,7 +44,6 @@
(defvar |$reportInstantiations| nil)
(defvar |$reportEachInstantiation| nil)
-(defvar |$compForModeIfTrue| nil "checked in compSymbol")
(defvar |$functorForm| nil "checked in addModemap0")
(defvar |$Rep| '|$Rep| "should be bound to gensym? checked in coerce")
(defvar |$definition| nil "checked in DomainSubstitutionFunction")
diff --git a/src/interp/sys-globals.boot b/src/interp/sys-globals.boot
index 3ed63b25..825b40ce 100644
--- a/src/interp/sys-globals.boot
+++ b/src/interp/sys-globals.boot
@@ -361,6 +361,8 @@ $categoryPredicateList := []
$getDomainCode := nil
$addForm := nil
+$compForModeIfTrue := false
+
--%
$algebraOutputStream :=