[Haskell-cafe] an idea for modifiyng data/newtype syntax: use `::=` instead of `=`

Hilco Wijbenga hilco.wijbenga at gmail.com
Sat Aug 8 20:26:35 UTC 2015


On 8 August 2015 at 12:14, Oliver Charles <ollie at ocharles.org.uk> wrote:
> 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


More information about the Haskell-Cafe mailing list