don't compose lits

It forces the identities of lits to change during relabel().

I think we still have to update() the expression to track changes in the
F function stack effect or we risk losing assoviations between type
variables in the stack effects and type variables in the pending
expression.  Hrmmm.
This commit is contained in:
Simon Forman 2018-06-26 22:39:06 -07:00
parent db28989b64
commit 4321ea874b
1 changed files with 2 additions and 6 deletions

View File

@ -242,17 +242,13 @@ def infer(e, F=ID):
fi, fo = n.enter_guard(F)
res = []
for combinator in n.stack_effects:
print fo
print e
new_fo, ee, _ = combinator(fo, e, {})
print new_fo
print ee
ee = update(FUNCTIONS, ee) # Fix Symbols.
new_F = fi, new_fo
res.extend(infer(ee, new_F))
else:
lit = s9, (n, s9)
res = flatten(infer(e, Fn) for Fn in MC([F], [lit]))
fi, fo = F
res = infer(e, (fi, (n, fo)))
return res