diff options
author | dos-reis <gdr@axiomatics.org> | 2011-04-27 07:41:49 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-04-27 07:41:49 +0000 |
commit | 320d0c5d61b2fc8cb6780b9c7e426a76e126307a (patch) | |
tree | e593716c7f294b29fbfe4dd1f71758453f9b3586 /src/lisp | |
parent | b34b11df886a81fe707bb09677c1ecd9715dbe70 (diff) | |
download | open-axiom-320d0c5d61b2fc8cb6780b9c7e426a76e126307a.tar.gz |
* interp/br-util.boot (dbInfovec): Move to c-util.boot
Diffstat (limited to 'src/lisp')
-rw-r--r-- | src/lisp/core.lisp.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 4c06f25c..e9765261 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -89,6 +89,17 @@ "%Form" "%Triple" "%Shell" + ;; functor data structures + "%FunctorData" + "%FunctorCoreData" + "%FunctorBytecode" + "%FunctorTemplate" + "%FunctorPredicateIndexTable" + "%FunctorOperatorDirectory" + "%FunctorCategoryTable" + "%FunctorAttributeTable" + "%FunctorDefaultTable" + "%FunctorLookupFunction" "coreQuit" "fatalError" @@ -228,6 +239,56 @@ (deftype |%Triple| () '(cons |%Code| (cons |%Mode| (cons |%Env| null)))) +;; Functor templates +(deftype |%FunctorTemplate| () + 'simple-vector) + +;; operator directory for functors. +(deftype |%FunctorOperatorDirectory| () + '(simple-array (or symbol fixnum))) + +;; List of (attribute . predicate-index) pairs for functors. +(deftype |%FunctorAttributeTable| () + 'list) + +;; Lookup-function for functors. For most functors, they are +;; either lookupIncomplete or lookupComplete. +;; Historical functors have lookupInTable. +(deftype |%FunctorLookupFunction| () + '|%Symbol|) + +;; Functor predicate index table +(deftype |%FunctorPredicateIndexTable| () + '(simple-array fixnum)) + +;; vector of categories a functor instantiation may belong to. +(deftype |%FunctorCategoryTable| () + '(simple-array |%Form|)) + +;; vector of default category packages that a functor may implicitly use. +(deftype |%FunctorDefaultTable| () + '(simple-array (|%Maybe| |%Constructor|))) + +;; sequence of `byte codes' for a functor +(deftype |%FunctorBytecode| () + '(simple-array fixnum)) + +;; PredicateIndex + DefaultTable + CategoryTable + Bytecode +(deftype |%FunctorCoreData| () + '(cons |%FunctorPredicateIndexTable| + (cons |%FunctorDefaultTable| + (cons |%FunctorCategoryTable| |%FunctorBytecode|)))) + + +;; The essential of what is needed to instantiate a functor. +;; This is the type of `infovec' properties of functors. +(deftype |%FunctorData| () + '(cons |%FunctorTemplate| + (cons |%FunctorOperatorDirectory| + (cons |%FunctorAttributeTable| + (cons |%Thing| + (cons |%FunctorLookupFunction| null)))))) + ;; ;; -*- Configuration Constants -*- ;; |