You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think we should keep track of whether variables were defined at toplevel. Then, when lifting, we should check whether all variables involved (e.g. in a closure environment) were defined at toplevel. If so, it's ok to lift. At present we make the decision based on where the potentially-liftable value is, which is more restrictive (e.g. we'll never lift a lambda under another lambda if its environment is inconstant, even if that environment can be computed at toplevel). The existing algorithm for placing "let symbol" bindings shouldn't need much modification to deal with this new criterion.
No description provided.
The text was updated successfully, but these errors were encountered: