-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skipping erased value arguments inside type functions in datatype parameters and in type lambdas #195
Skipping erased value arguments inside type functions in datatype parameters and in type lambdas #195
Conversation
It now seems like that it compiles, but cannot be used... I'll try to fix that. |
Now it's OK:) I've inserted a similar check at type lambdas. See the update above. |
One more thing apart from the comments: |
For types it is a bit more tricky since there is the possibility of an instance argument. These can be erased at the term level, but at the type level they need to be made into a constraint. So I don't think anything there should change. |
When giving type parameters to a record and using a dependent function which, however, has its value parameters erased; I've originally got an error (
Kind of bound argument not supported
). This PR fixes that.The specific example (used in the test case, too):
The output here is
Update: now the arguments of type lambdas are also checked and if they are erased, they are dropped, instead of invoking an error. An example:
This produces an output like this: