aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-04-14 01:59:56 +0000
committerdos-reis <gdr@axiomatics.org>2008-04-14 01:59:56 +0000
commit663089e7f95f4901a46939ef34c60982dd5aadda (patch)
tree591d333d98a1eaf5b3c22d57e75ece8c56f9619b /src/interp/database.boot
parentc5659a8580de5b531891c6703465c84add9fbb1b (diff)
downloadopen-axiom-663089e7f95f4901a46939ef34c60982dd5aadda.tar.gz
Various cleanups.
Diffstat (limited to 'src/interp/database.boot')
-rw-r--r--src/interp/database.boot84
1 files changed, 80 insertions, 4 deletions
diff --git a/src/interp/database.boot b/src/interp/database.boot
index 2d25edb4..07d67515 100644
--- a/src/interp/database.boot
+++ b/src/interp/database.boot
@@ -50,7 +50,7 @@ getConstructorAbbreviationFromDB ctor ==
getConstructorCategoryFromDB: %Symbol -> %Form
getConstructorCategoryFromDB ctor ==
- GETDATABASE(ctor,"CONSTRCTORCATEGORY")
+ GETDATABASE(ctor,"CONSTRUCTORCATEGORY")
getConstructorKindFromDB: %Symbol -> %Maybe %ConstructorKind
getConstructorKindFromDB ctor ==
@@ -60,10 +60,86 @@ getConstructorAncestorsFromDB: %Symbol -> %List
getConstructorAncestorsFromDB ctor ==
GETDATABASE(ctor,"ANCESTORS")
-getConstructorSourceFile: %Symbol -> %Maybe %String
-getConstructorSourceFile ctor ==
+++ return the modemap of the constructor or the instantiation
+++ of the constructor `form'.
+getConstructorModemapFromDB: %Symbol -> %Maybe %Symbol
+getConstructorModemapFromDB form ==
+ GETDATABASE(opOf form, 'CONSTRUCTORMODEMAP)
+
+getConstructorFormFromDB: %Symbol -> %Form
+getConstructorFormFromDB ctor ==
+ GETDATABASE(ctor,"CONSTRUCTORFORM")
+
+getConstructorSourceFileFromDB: %Symbol -> %Maybe %String
+getConstructorSourceFileFromDB ctor ==
GETDATABASE(ctor,"SOURCEFILE")
+getConstructorModuleFromDB: %Symbol -> %Maybe %String
+getConstructorModuleFromDB ctor ==
+ GETDATABASE(ctor,"OBJECT")
+
+getConstructorDocumentationFromDB: %Symbol -> %List
+getConstructorDocumentationFromDB ctor ==
+ GETDATABASE(ctor,"DOCUMENTATION")
+
+getConstructorOperationsFromDB: %Symbol -> %List
+getConstructorOperationsFromDB ctor ==
+ GETDATABASE(ctor,"OPERATIONALIST")
+
+getConstructorFullNameFromDB: %Symbol -> %Symbol
+getConstructorFullNameFromDB ctor ==
+ GETDATABASE(ctor,"CONSTRUCTOR")
+
+getConstructorArgsFromDB: %Symbol -> %List
+getConstructorArgsFromDB ctor ==
+ GETDATABASE(ctor,"CONSTRUCTORARGS")
+
+++ returns a list of Boolean values indicating whether the
+++ parameter type at the corresponding position is a category.
+getDualSignatureFromDB: %Symbol -> %Form
+getDualSignatureFromDB ctor ==
+ GETDATABASE(ctor,"COSIG")
+
+getConstructorPredicatesFromDB: %Symbol -> %Thing
+getConstructorPredicatesFromDB ctor ==
+ GETDATABASE(ctor,"PREDICATES")
+
+getConstructorParentsFromDB: %Symbol -> %List
+getConstructorParentsFromDB ctor ==
+ GETDATABASE(ctor,"PARENTS")
+
+getSuperDomainFromDB: %Symbol -> %Form
+getSuperDomainFromDB ctor ==
+ GETDATABASE(ctor,"SUPERDOMAIN")
+
+getConstructorAttributesFromDB: %Symbol -> %Form
+getConstructorAttributesFromDB ctor ==
+ GETDATABASE(ctor,"ATTRIBUTES")
+
+niladicConstructorFromDB: %Symbol -> %Boolean
+niladicConstructorFromDB ctor ==
+ GETDATABASE(ctor,"NILADIC")
+
+asharpConstructorFromDB: %Symbol -> %Maybe %Symbol
+asharpConstructorFromDB ctor ==
+ GETDATABASE(ctor,"ASHARP?")
+
+constructorHasCategoryFromDB: %Pair -> %Thing
+constructorHasCategoryFromDB p ==
+ GETDATABASE(p,"HASCATEGORY")
+
+getConstructorDefaultFromDB: %Symbol -> %Maybe %Symbol
+getConstructorDefaultFromDB ctor ==
+ GETDATABASE(ctor,"DEFAULTDOMAIN")
+
+getOperationFromDB: %Symbol -> %List
+getOperationFromDB op ==
+ GETDATABASE(op,"OPERATION")
+
+getOperationModemapsFromDB: %Symbol -> %List
+getOperationModemapsFromDB op ==
+ GETDATABASE(op,"MODEMAPS")
+
--% Functions for manipulating MODEMAP DATABASE
augLisplibModemapsFromCategory(form is [op,:argl],body,signature) ==
@@ -470,7 +546,7 @@ getModemapsFromDatabase(op,nargs) ==
ans
getSystemModemaps(op,nargs) ==
- mml:= GETDATABASE(op,'OPERATION) =>
+ mml:= getOperationFromDB op =>
mms := NIL
for (x := [[.,:sig],.]) in mml repeat
(NUMBERP nargs) and (nargs ^= #QCDR sig) => 'iterate