ipso
ipso copied to clipboard
Multi-error reporting
Currently, stages of the interpreter return Results, which mean only a single error is reported before the whole system halts.
Stages need to collect errors and while recovering as much as possible.
- [ ] parser
- [ ] typechecker
I want to make sure that every error message is independently fixable.
This blog post explains that when you get a lot of compile errors in C++, you can't just fix the last error the compiler output. When Clang finds an error, it guesses a fix and then continues as if the fix had been applied. When the compiler guesses the wrong fix, subsequent errors that depend on the fix can be garbage.