GHC messages are complete and precise, usually telling you everything you need to know to understand, find, and fix the error, that may not even be on the place it’s actually detected.
Exactly. It’s a perfectly condensed yet totally complete readout of all the data you might need for debugging. It makes mathematicians everywhere proud.
If you don’t actually need a complete set of information about possible exotic type choices just to see you put an infix in the wrong place that’s basically not the compiler’s problem.
(TBF, I wouldn’t want to try and mindread the programmer in my compiler either, but then I am a maths person)
I dunno. That set of information about exotic type choices helps me very often. And I can always ignore it when it’s not useful.
The bunch of “yes, compiled that module, everything is all right” messages in between them and warnings not surviving a second compilation bother me much more than the error messages. But learning to read the messages was not easy.
I did mention that right off the bat. I made it sound unreasonable for comedic purposes, but breaking the jerk I actually do really like Haskell, and Haskell error messages.
Haskell errors:
Iä! Iä! Cthulhu
(b -> (a -> c)) -> (b -> (c -> c)) -> a
fhtagn! Ph’nglui mglw’nfah[[a]]
Cthulhu R’lyeh wgah’nagl fhtagn![45 lines of scopes]
Once you understand the type system really well and know which 90% of the error information to discard it’s not so bad, I guess.
What about the fact it invades your dreams and slowly drives you insane?
I literally had a type-theory themed stress dream a couple nights ago. I’ll leave it up to you if that makes this less or more funny.
Why is it written in Vietnamese though?
The trees have no side effects, man!
GHC messages are complete and precise, usually telling you everything you need to know to understand, find, and fix the error, that may not even be on the place it’s actually detected.
It’s also in an alien language. That’s correct.
Exactly. It’s a perfectly condensed yet totally complete readout of all the data you might need for debugging. It makes mathematicians everywhere proud.
If you don’t actually need a complete set of information about possible exotic type choices just to see you put an infix in the wrong place that’s basically not the compiler’s problem.
(TBF, I wouldn’t want to try and mindread the programmer in my compiler either, but then I am a maths person)
I dunno. That set of information about exotic type choices helps me very often. And I can always ignore it when it’s not useful.
The bunch of “yes, compiled that module, everything is all right” messages in between them and warnings not surviving a second compilation bother me much more than the error messages. But learning to read the messages was not easy.
I did mention that right off the bat. I made it sound unreasonable for comedic purposes, but breaking the jerk I actually do really like Haskell, and Haskell error messages.