[Haskell-cafe] GHC Extension Proposal: ArgumentBlock

Edward Kmett ekmett at gmail.com
Tue Sep 8 15:12:28 UTC 2015


On Tue, Sep 8, 2015 at 10:55 AM, Michal Antkiewicz <
mantkiew at gsd.uwaterloo.ca> wrote:

> "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.
>

I have no objection to adding such extensions we find warranted to
Haskell201X, merely to their willy nilly addition to the language without a
pragma outside of any such a process.

Even for the bits included in Haskell2010 we didn't remove the
corresponding LANGUAGE pragmas from existence, merely specified that when
you are using {-# LANGUAGE Haskell2010 #-} or tell cabal to use
default-language: Haskell2010 then they turn on by default.


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

Herbert is in the middle of rebooting the Haskell' process, I wouldn't
count it out yet.

-Edward



> 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
>>
>>
>
> _______________________________________________
> 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/65ebcf38/attachment.html>


More information about the Haskell-Cafe mailing list