-
Notifications
You must be signed in to change notification settings - Fork 12
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
More helpful type errors #85
Comments
I think the right approach here is to work on the "human-readable language", to output the full program with the current state of inferred types, and the error line highlighted somehow. Trying to output isolated error messages that somehow capture a type inference error is hopeless because of how incredibly non-local type inference is. |
We should experiment to see if the way we use unification arrows results in weird error messages. |
Type variables get names of the form Many types are also copied from existing arrows. We could use this to construct a provenance graph that captures where the type bound originally comes from. This can help users understand why a type became what it is. |
Often unification fails on the last stretch, being almost finished. This leads to unhelpful error messages like "A = B but it should be A = B". I am not sure if this is a race condition, but I have seen a lot of these errors. Also, type errors could be more helpful in general.
The text was updated successfully, but these errors were encountered: