[Haskell-cafe] GHC Extension Proposal: ArgumentBlock

Michal Antkiewicz mantkiew at gsd.uwaterloo.ca
Tue Sep 8 14:10:35 UTC 2015

+1 for the change but not for an extension. Here's why

1. I remember when I was new to Haskell, having to add $ confused me a lot.
It caused a lot of frustration, some errors I didn't understand, which
didn't help me realize that $ was needed. I still vividly remember the

2. It seems the change is fully backwards compatible and it does not
prevent people still using the old style if they wanted. I would make it a
default, not an extension.

3. In order to verify backwards compatibility, I would generate Core output
for all of Hackage with both the current and the new compilers and check
that Core remains identical. That would be a conclusive proof to me.

4. Regarding the other mentioned extensions like multiway if, etc. they
should become default as well because they are backwards compatible as

5. The only reason to guard changes behind LANGUAGE pragmas should be when
they are causing problems with other extensions.

I too feel that Haskell community is becoming more and more conservative. I
believe there's still time now to make the language as best it can be at
the cost of loosing backwards compatibility. The rapid improvements in the
language is what attracts me to Haskell.


On Tue, Sep 8, 2015 at 12:56 AM, Andrew Gibiansky <
andrew.gibiansky at gmail.com> wrote:

> In order to get a feel for  using this extension in real-world Haskell,
> take a look at the new ghc-reskin package:
> https://github.com/gibiansky/ghc-reskin
> This allows you to use ArgumentBlock *today* by passing GHC a few
> parameters to tell it to use ghc-reskin as a preprocessor. Take a look at
> the README for a full example.
> -- Andrew
> On Mon, Sep 7, 2015 at 9:02 PM, Bardur Arantsson <spam at scientician.net>
> wrote:
>> On 09/08/2015 03:08 AM, Dan Burton wrote:
>> > +1 people who like it can use it and people who don't like it don't
>> have to
>> > use it. Personally I wish it were the default because the superfluous $
>> > confuses a lot of people coming from other languages like Ruby.
>> >
>> Whether it's "superfluous" depends entirely on one's PoV.
>> > You can even write in the old style if you have the extension turned
>> on. It
>> > doesn't disable the old way of doing things. It just allows a new way.
>> It's
>> > entirely backwards compatible with working code when turned on, is it
>> not?
>> >
>> Except now there are two "dialects" everybody has to read/understand.
>> That's not progress IMO. (Considering that it's so little gain. I really
>> don't understand the hatred of $ that some people seem to have.)
>> Regards,
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150908/8b42d555/attachment.html>

More information about the Haskell-Cafe mailing list