aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-02-13 06:26:42 +0000
committerdos-reis <gdr@axiomatics.org>2012-02-13 06:26:42 +0000
commit722618d8f5ca5ba86289bb0e1a6e3b427ab0262f (patch)
tree3b461a3df423d5f3f82d7d10d14b8d558bd8365e /src/interp/database.boot
parente8e935c694c961342c781a6dcfbe636b85547449 (diff)
downloadopen-axiom-722618d8f5ca5ba86289bb0e1a6e3b427ab0262f.tar.gz
* interp/g-util.boot (stripTags): Rename from stripUnionTags.
Adjust callers. * interp/database.boot (genericInstanceForm): New. * interp/buildom.boot (parentsOfBuiltinInstance): New. (builtinInstanceForm): Likewise. * interp/br-data.boot (genericParentsOf): New. (parentsOfForm): Use it, (ancestorsRecur): Likewise. * interp/br-con.boot (originInOrder): Use parentsOfForm.
Diffstat (limited to 'src/interp/database.boot')
-rw-r--r--src/interp/database.boot8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/interp/database.boot b/src/interp/database.boot
index 278630d9..943b635f 100644
--- a/src/interp/database.boot
+++ b/src/interp/database.boot
@@ -88,6 +88,14 @@ getConstructorFormFromDB: %Constructor -> %Form
getConstructorFormFromDB ctor ==
GETDATABASE(ctor,"CONSTRUCTORFORM")
+++ Return the generic instantiation form of a constructor,
+++ where the arguments are the parameters used in its
+++ original definition. Builtin constructors are also handled.
+genericInstanceForm form ==
+ [op,:args] := form
+ builtinConstructor? op => builtinInstanceForm form
+ getConstructorFormFromDB op
+
getConstructorSourceFileFromDB: %Constructor -> %Maybe %String
getConstructorSourceFileFromDB ctor ==
GETDATABASE(ctor,"SOURCEFILE")