diff options
Diffstat (limited to 'src/interp/i-analy.boot')
-rw-r--r-- | src/interp/i-analy.boot | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/interp/i-analy.boot b/src/interp/i-analy.boot index b4b4226d..a46c6b7a 100644 --- a/src/interp/i-analy.boot +++ b/src/interp/i-analy.boot @@ -248,6 +248,11 @@ bottomUp t == argModeSetList:= [bottomUp x for x in argl] ms := bottomUpForm(t,op,opName,argl,argModeSetList) + -- If this is a type producing form, then we don't want + -- to store the representation object in the environment. + -- Rather, we want to record the reified canonical form. + if ms is [m] and (m in $LangSupportTypes or isCategoryForm(m,$e)) + then putValue(t,objNew(devaluate objValUnwrap getValue t, m)) -- given no target or package calling, force integer constants to -- belong to tightest possible subdomain |