<div dir="ltr"><div><br></div><div>On Tue, Sep 8, 2015 at 10:55 AM, Michal Antkiewicz <span dir="ltr"><<a href="mailto:mantkiew@gsd.uwaterloo.ca" target="_blank">mantkiew@gsd.uwaterloo.ca</a>></span> wrote:<br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">"The spec"... Maybe we need a more lightweight process:<div><br></div><div>Every two years, a committee gathers and issues a statement: </div><div><br></div><div>"Haskell 2016 includes the following extensions by default: <list>". And remove the corresponding language pragmas.</div></div></blockquote><div> </div><div>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.</div><div><br></div><div>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.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>There's no point in holding off everybody down to Haskell 2010. Haskell' is dead, nobody works on the full-blown spec, etc. </div></div></blockquote><div> </div><div><div>Herbert is in the middle of rebooting the Haskell' process, I wouldn't count it out yet.<br><div><br></div><div>-Edward</div></div><div class="gmail_extra"><br></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>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).</div><div><br></div><div class="gmail_extra"><div><div><div dir="ltr"><div>Michał </div></div></div></div><div><div class="h5">
<br><div class="gmail_quote">On Tue, Sep 8, 2015 at 10:35 AM, Niklas Larsson <span dir="ltr"><<a href="mailto:metaniklas@gmail.com" target="_blank">metaniklas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div style="font-family:Calibri,sans-serif;font-size:11pt">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.</div></div><div dir="ltr"><hr><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Från: </span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:mantkiew@gsd.uwaterloo.ca" target="_blank">Michal Antkiewicz</a></span><br><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Skickat: </span><span style="font-family:Calibri,sans-serif;font-size:11pt">‎2015-‎09-‎08 16:10</span><br><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Till: </span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:haskell-cafe@haskell.org" target="_blank">Haskell Cafe</a></span><br><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Ämne: </span><span style="font-family:Calibri,sans-serif;font-size:11pt">Re: [Haskell-cafe] GHC Extension Proposal: ArgumentBlock</span><br><br></div><div><div><div dir="ltr">+1 for the change but not for an extension. Here's why<div><br></div><div>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....</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>4. Regarding the other mentioned extensions like multiway if, etc. they should become default as well because they are backwards compatible as well. </div><div><br></div><div>5. The only reason to guard changes behind LANGUAGE pragmas should be when they are causing problems with other extensions.</div><div><br></div><div>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.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Best,<br clear="all"><div><div><div dir="ltr"><div>Michał </div></div></div></div>
<br><div class="gmail_quote">On Tue, Sep 8, 2015 at 12:56 AM, Andrew Gibiansky <span dir="ltr"><<a href="mailto:andrew.gibiansky@gmail.com" target="_blank">andrew.gibiansky@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr">In order to get a feel for  using this extension in real-world Haskell, take a look at the new ghc-reskin package:<div><br></div><div><a href="https://github.com/gibiansky/ghc-reskin" target="_blank">https://github.com/gibiansky/ghc-reskin</a><br></div><div><br></div><div>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.</div><div><br></div><div>-- Andrew</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 7, 2015 at 9:02 PM, Bardur Arantsson <span dir="ltr"><<a href="mailto:spam@scientician.net" target="_blank">spam@scientician.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><span><span>On 09/08/2015 03:08 AM, Dan Burton wrote:<br>
> +1 people who like it can use it and people who don't like it don't have to<br></span>
> use it. Personally I wish it were the default because the superfluous $<br>
> confuses a lot of people coming from other languages like Ruby.<br>
><br>
<br>
</span>Whether it's "superfluous" depends entirely on one's PoV.<br>
<span><br>
> You can even write in the old style if you have the extension turned on. It<br>
> doesn't disable the old way of doing things. It just allows a new way. It's<br>
> entirely backwards compatible with working code when turned on, is it not?<br>
><br>
<br>
</span>Except now there are two "dialects" everybody has to read/understand.<br>
That's not progress IMO. (Considering that it's so little gain. I really<br>
don't understand the hatred of $ that some people seem to have.)<br>
<br>
Regards,<span><br>
<div><div><br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</div></div></span></blockquote></div><br></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div></div>
</div></div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div></div>