[Haskell-cafe] GHC Extension Proposal: ArgumentBlock

Michal Antkiewicz mantkiew at gsd.uwaterloo.ca
Tue Sep 8 14:55:37 UTC 2015


"The spec"... Maybe we need a more lightweight process:

Every two years, a committee gathers and issues a statement:

"Haskell 2016 includes the following extensions by default: <list>". And
remove the corresponding language pragmas.

And we call that the new spec, that's it.

There's no point in holding off everybody down to Haskell 2010. Haskell' is
dead, nobody works on the full-blown spec, etc.

There's a wide consensus in the community about certain extensions. Let's
just make them default for the benefit of all (or at least the vast
majority).

Michał

On Tue, Sep 8, 2015 at 10:35 AM, Niklas Larsson <metaniklas at gmail.com>
wrote:

> I would be unhappy if GHC included gratuitous differences from the Haskell
> spec by default. It's hard enough for people working on alternative Haskell
> implementations as is, stepping away from the spec would be a movie in the
> wrong direction.
> ------------------------------
> Från: Michal Antkiewicz <mantkiew at gsd.uwaterloo.ca>
> Skickat: ‎2015-‎09-‎08 16:10
> Till: Haskell Cafe <haskell-cafe at haskell.org>
> Ämne: Re: [Haskell-cafe] GHC Extension Proposal: ArgumentBlock
>
> +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
> pain....
>
> 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
> well.
>
> 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.
>
> Best,
> Michał
>
> 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
>>
>>
>
> _______________________________________________
> 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/7be425a3/attachment.html>


More information about the Haskell-Cafe mailing list