diff options
Diffstat (limited to 'src/interp/nrunfast.boot')
-rw-r--r-- | src/interp/nrunfast.boot | 16 |
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 --======================================================= |