aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lisplib.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-09-05 03:45:38 +0000
committerdos-reis <gdr@axiomatics.org>2011-09-05 03:45:38 +0000
commit0df766b3f8bec011ef9cd27ee55493f11e69335a (patch)
tree2869fda4ac2f11083355374eb8601802ea5478aa /src/interp/lisplib.boot
parentce7aedf615e201aedf7f21d8aa18b2657dd56c3d (diff)
downloadopen-axiom-0df766b3f8bec011ef9cd27ee55493f11e69335a.tar.gz
* interp/lisplib.boot (writeCategory): New,
(finalizeLisplib): Use it. Write category bodies in generated Lisp code file. * interp/daase.lisp (GETDATABASE) [CONSTRUCTORCATEGORY]: Don't bother with package and domain constructors. * interp/database.boot (getConstructorCategory): Rename from getConstructorCategoryFromDB. Reimplement, Adjusr callers.
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r--src/interp/lisplib.boot6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 8c39a1b5..e8d85247 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -550,6 +550,9 @@ writeAbbreviation(db,file) ==
writeConstructorForm(ctor,form,file) ==
writeInfo(ctor,form,'constructorForm,'dbConstructorForm,file)
+writeCategory(ctor,cat,file) ==
+ writeInfo(ctor,cat,'constructorCategory,'dbCategory,file)
+
writeSuperDomain(ctor,domPred,file) ==
writeInfo(ctor,domPred,'superDomain,'dbSuperDomain,file)
@@ -591,7 +594,8 @@ finalizeLisplib(ctor,libName) ==
$lisplibCategory := $lisplibCategory or mm.mmTarget
-- set to target of mm for package/domain constructors;
-- to the right-hand sides (the definition) for category constructors
- lisplibWrite('"constructorCategory",$lisplibCategory,$libFile)
+ if dbConstructorKind db = 'category then
+ writeCategory(ctor,$lisplibCategory,$libFile)
lisplibWrite('"sourceFile",namestring _/EDITFILE,$libFile)
lisplibWrite('"modemaps",removeZeroOne $lisplibModemapAlist,$libFile)
opsAndAtts := getConstructorOpsAndAtts(form,kind,mm)