Conversation

With concrete advice:
Quote Tweet
Adopting this attitude (ca. 2012 iirc) changed the whole way I do language design and tooling development. Compiler/interpreter error messages are the single best place to surface learning materials for a language, because trial *and error* is a huge aspect of how people learn! twitter.com/ManishEarth/st…
Show this thread
1
4
I will continue to say this until we make the computer quit being mean. It’s an important realisation that the process of figuring out how to get your code to compile is programming too, and it shouldn’t be a realisation at all—it should be clear from the user interface design.
2
21
You know what? I make an effort to always use plain language and try to come accross as matter of fact (playfulness might be accepted but is frowned upon) in diagnostics, but just removing the leading "error:" might actually be a small change ti reframe the interaction.
2
2
Exactly! Doing that has led me in a direction I like, at least. Including a “warning” or “error” prefix does serve some purposes, like helping IDEs/editors format messages that follow (or vaguely imitate) the standardish GNU format, although those tags aren’t very informative.
1
2
“Error” might be “I can’t”, or “You’ve asked me not to”, or “I will, but only if you super-promise that these shenanigans are what you meant to do”; “warning” might be about anything: style, performance, possible issues, or even *likely* issues too noisy to make errors.
1
3
Any idea what a better prefix would be? Or would it be better to just remove it? Or do we dial down the severity of this stuff in development, so you get 'info' and 'note' messages instead, leaving the errors for CI and release builds?
2
Yeah, thinking maybe it would be good to demonstrate that in the examples and documentation. Try to nudge downstream tool-makers in the right direction I guess… ‘this is what your tool could be like’ – hehe :)
1
1
Thinking about Lean's info panel, which is a bit like a todo list (you can even add custom widgets for your own datatypes): github.com/leanprover/vsc – they still use red squigglies and text for ‘errors’ though. Other theorem provers have similar ways of listing your ‘goals’…
1
3
Show replies
Hmm yeah. Do note that I'd want the compilation to continue, plonking in a bit of code that aborted/crashed the program if the fixme if it was encountered at runtime.
1