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
Yes, this has been mildly annoying. That error was added to avoid weird ClassNotFoundErrors at runtime. The true solution is to:
Just before writing to interface files, attach a new data item to the Var type that stores the name which the codegenerator should assign to that particular binding. This addition is generally useful later when we want to give the user the ability to control the generated package/class for data types (say you wanted to rename the list type).
Do an iteration where you store all the case-insensitive names into a map and if there's a clash, add a $[n] as a suffix where [n] is an incrementing index.
Say the binders are:
hello, heLlo, Hello
We could attach:
hello, heLlo$1, Hello$2
So that absolutely no clash can happen.
3) Make sure the codegen peeks into the newly added field before deciding the class name for a newly generated class. Moreover, when generating calls to binders in other modules, ensure that the field is used and not the standard encoding.
Description
eta throws:
Expected Behavior
eta should behave like ghc
Actual Behavior
it throws the error included above
Possible Fix
Context
Your Environment
The text was updated successfully, but these errors were encountered: