diff options
Diffstat (limited to 'src/interp/database.boot')
-rw-r--r-- | src/interp/database.boot | 8 |
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") |