aboutsummaryrefslogtreecommitdiff
path: root/src/interp/nrunfast.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-06-12 17:35:50 +0000
committerdos-reis <gdr@axiomatics.org>2009-06-12 17:35:50 +0000
commit9e86e73fe1aa9115233952ffbf8188b169677d6e (patch)
tree25c19d0732c1af479e9442c7476d122c00f4920c /src/interp/nrunfast.boot
parent9e07dcd91c45bf8b22d932321f5c97e931ffe8ac (diff)
downloadopen-axiom-9e86e73fe1aa9115233952ffbf8188b169677d6e.tar.gz
Support retract of domains.
* interp/i-funsel.boot (findFunctionInDomain): Don't look into categories. * interp/i-coerce.boot (retract): Retract domain objects too. (retract1): Do it. (coerceInteractive): Likewise. * interp/nrunfast.boot (getDomainCategoriesVector): New. (getDomainCompleteCategories): Likewise.
Diffstat (limited to 'src/interp/nrunfast.boot')
-rw-r--r--src/interp/nrunfast.boot16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/interp/nrunfast.boot b/src/interp/nrunfast.boot
index e7dc7a19..ff6c517c 100644
--- a/src/interp/nrunfast.boot
+++ b/src/interp/nrunfast.boot
@@ -62,6 +62,20 @@ isNewWorldDomain domain ==
getDomainByteVector dom ==
CDDR dom.4
+
+++ Return the sequence of categories `dom' belongs to, as a vector
+++ of lazy category forms.
+getDomainCategoriesVector dom ==
+ second(dom.4)
+
+++ Same as getDomainCategoriesVector except that we return a list of
+++ input forms for the categories.
+getDomainCompleteCategories dom ==
+ vec := getDomainCategoriesVector dom
+ cats := nil
+ for i in 0..MAXINDEX vec repeat
+ cats := [newExpandLocalType(vec.i,dom,dom), :cats]
+ nreverse cats
getOpCode(op,vec,max) ==
--search Op vector for "op" returning code if found, nil otherwise
@@ -671,7 +685,7 @@ lazyMatchAssocV1(x,vec,domain) == --old style slot4
-- predvec := domain.3
-- testBitVector(predvec,predIndex)
-- false
-
+
--=======================================================
-- Utility Functions
--=======================================================