aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/compiler.boot5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 2a3f413e..433d44e7 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -2826,8 +2826,9 @@ instantiateNiladics! pf ==
-- Note: Normally, we wouldn't want to touch the definiendum;
-- except that some operators such as 'case' take flags,
-- so we want to solve them if they are types.
- if second(pf) is [.,:.] then
- second(pf).args := instantiateNiladicsInList! second(pf).args
+ definiendum := first pf.args
+ if definiendum is ['case,:.] then
+ third(definiendum) := instantiateNiladics! third definiendum
third(pf) := instantiateNiladicsInList! third pf
fourth(pf) := instantiateNiladics! fourth pf
pf.op is 'SIGNATURE => third(pf) := instantiateNiladicsInList! third pf