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.
Conversation
“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
(this doesn't solve the issues you raised in the previous tweet, just wondering as somebody who makes a diagnostic reporting library, hehe 😳)
1
1
If you can break with convention, removing `error: ` is an easy win
1
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
Maybe "reason:" could work as a prefix? As in "the reason compilation stopped". Otherwise "info" is probably good
1
What about "fixme: "? Thinking about this:
Quote Tweet
This is most obvious with refactoring — experienced programmers will structure a refactoring so that the type checker tells them everywhere they need to fix (whenever possible…). Those “errors” are just a checklist from a very diligent partner.
Show this thread
2
3
Also thinking about hole driven development, and about that gives you a bunch of 'todo's for missing parts of the code you still need to fill in… sometimes those are displayed as warnings, or in an interactive side-panel in your IDE/editor. 🤔
1
3
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
1
3
Seems like Pyret just does away with a prefix in their browser based editor. Of course they have more freedom their with formatting, vs. the console. Was inspired to check them out again thanks to this tweet:
read image description
ALT
Quote Tweet
Replying to @yminsky
We have @Bootstrapworld teachers who use @PyretLang error messages as a pedagoical device. I think that's possible in part only because we don't have screaming red error messages, and in fact quite sophisticated output (partly thanks to @tenellous).
Oh wait, to be clear it is that red tone when you click on 'Number annotation' in the message – before hand it is coloured teal, which is a bit less intimidating. Even so the red colour in use above is far less scary than you normally see in terminals.
1
Oh wait, now I am confused, I think the colour changes every time I click run. Maybe it is meant to have different colours for distinguishing multiple messages… 🤔
1
Show replies
Several research papers went into the design of these error messages; there's a lot more going on in them:
cs.brown.edu/~sk/Publicatio
cs.brown.edu/~sk/Publicatio
cs.brown.edu/~sk/Publicatio
cs.brown.edu/~sk/Publicatio
1
3
Oh thanks for this – lots of cool reading here!
2





