
On 8 August 2015 at 12:14, Oliver Charles
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.
I have no doubt that you are right: nothing will change. However... I don't agree that "it breaks existing code" is a valid argument (in and of itself). You can stick with whatever version of the compiler you are currently using. Nobody is forcing you to change *immediately*. Holding a programming language hostage because of the existing code base is irresponsible. Having said that, changing the language "often" is also irresponsible. So it should only happen, say, every 5 years. More importantly, it should be done by means of a tool (a la gofix, see [1]). Especially with a language like Haskell, it should be relatively simple to create a haskell-fix tool that replaces deprecated structure/syntax with its new-and-improved alternative. Make haskell-fix a standard part of the toolchain and most (all?) problems related to language changes disappear. (I would be very interested to know whether the availability of such a haskell-fix tool would change people's opinion about making language changes.) [1] http://blog.golang.org/introducing-gofix