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
This issue is made trickier by polymorphism of top level bindings. We don't want to use a single binding site if the use is polymorphic, because that could cause type errors where otherwise there would be none.
Currently top-level definitions are just copied directly into other definitions' ASTs.
Instead, top-level bindings should be encapsulated in an extra lambda which then has whatever definitions that binding relies on applied to it.
This technique should also be used for let bindings.
If it makes sense, also fix parsing so that declarations don't have to come before they are used, and make sure recursive definitions are disallowed.
The text was updated successfully, but these errors were encountered: