re. github.com/jonsterling/dr, have you considered how error reporting might work with the refiner? Seems like a really neat approach - but just a little worried about providing a nice diagnostics about the surface syntax and supporting error recovery, etc.
Conversation
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
Idea is that you don't want your type checker to stop at the first error. You'd prefer it if it could continue type checking, giving you more than one error.
4
1
2
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
It's incredibly useful, especially for interactive editing. Where you might be in the middle of a refactor and you want to have an understanding of the bits of code that are broken (there might be multiple bits at once).
1
1
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
Yeah, I generally find Rust does a pretty good job of this - like it will do as much as it can (although it's not perfect). There is ultimately a little heuristics involved to avoid it everything haywire on big things - I think Rust has a cut-off on how many errors it dumps?
2
Definitely not familiar how OCaml handles it, but definitely got frustrated with Purescript, which seemed at the time to be implemented in terms of a monadic parser and type checker - ie. bail on the first error it found.
The bits where I get frustrated in Rust is where it won't continue on to lifetime analysis if type checking fails. So you might think everything is fine, but suddenly you fix the last error and get a bunch of lifetime issues to sort through.
1
1
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
Show replies
