<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-08-08 21:14 GMT+02:00 Oliver Charles <span dir="ltr"><<a href="mailto:ollie@ocharles.org.uk" target="_blank">ollie@ocharles.org.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I hate to come across as a party-pooper, but do we really think it's realistic that any of these changes will be made? I understand that there may be benefits, but they don't outweigh the cost of breaking almost all existing code. The idea of opting in to this with pragmas just doesn't seem worth it, and further fragments the language, ultimately reducing readability when I pick up another author's code.</div></blockquote><div><br></div><div>+1 to this. As has already been noted in a different thread, the "let's introduce a pragma, nobody is forced to use it" argument is bogus. It fragments the language for no good reason and one *is* forced to handle it (when reading other people's code etc.). Furthermore, the current example at hand is roughly at position 2 of Wadler's Law of Language Design (<a href="https://wiki.haskell.org/Wadler's_Law">https://wiki.haskell.org/Wadler's_Law</a>), a.k.a. bikeshedding at the lexical level. ;-)</div><div><br></div><div>Don't get me wrong: If Haskell was still at its infancy, renaming things would probably be beneficial, as "type" is somehow really a misnomer. One could discuss if "newtype" is really needed when we have "data" plus strictness annotations (personally I'm a bit unsure what the common use case for "case" is where they differ and what one might consider more natural). Given the case that people seem to move towards GADTs anyway, the discussion seems a bit moot.</div><div><br></div><div>Just my 2c.</div><div><br></div><div>P.S.: If you think this part of Haskell is a bit hard to read and confusing, I seriously propose a week or two in C++'s wonderful meta-programming world with templates... ;-)</div></div></div></div>