aboutsummaryrefslogtreecommitdiff
path: root/src/interp/database.boot
diff options
context:
space:
mode:
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")