<div dir="ltr"><br class="">On Thu, Sep 24, 2015 at 2:43 PM, Herbert Valerio Riedel <span dir="ltr"><<a href="mailto:hvr@gnu.org" target="_blank">hvr@gnu.org</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 id=":1wc" class="" style="overflow:hidden">TLDR: To complete the AMP, turn `Monad(return)` method into a<br>      top-level binding aliasing `Applicative(pure)`.<br></div></blockquote><div><br></div><div>Sure... if we had a language that no one uses and could keep reforming like putty until it is perfect. But we don't.</div><div><br></div><div>A modest proposal:</div><div><br></div><div>We can't keep tinkering with a language and it's libraries like this AND have a growing ecosystem that serves an ever widening base, including the range from newcomer to commercial deployment. SO - Why let's do all the language tinkering in GHC 8 there can be as many prereleases of that as needed until it is just right. ...and leave GHC 7 (7.10? roll back to 7.8.4?) for all of us doing essential and dependable libraries, commercial work, projects on Haskell that we don't want to have to go back and #ifdefs to twice a year just to keep running, educators, people writing books. We can keep improving GHC 7 as needed, and focus on bugs, security issues, patches, cross compatibility, etc.</div><div><br></div><div>Think of it as Perl 6 or Python 3 for Haskell.</div><div><br></div><div>- Mark</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 6, 2015 at 1:12 AM, Johan Tibell <span dir="ltr"><<a href="mailto:johan.tibell@gmail.com" target="_blank">johan.tibell@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_extra" style="font-size:12.8px"><div class="gmail_quote"><span>(Resending with smaller recipient list to avoid getting stuck in the moderator queue.)</span></div><div class="gmail_quote"><span><br></span></div><div class="gmail_quote"><span class=""><span>On Tue, Oct 6, 2015 at 9:10 AM, Herbert Valerio Riedel <span dir="ltr"><<a href="mailto:hvr@gnu.org" target="_blank">hvr@gnu.org</a>></span> wrote:<br></span></span><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"><span class=""><span>On 2015-10-05 at 21:01:16 +0200, Johan Tibell wrote:<br></span></span><span class=""><span>> On the libraries I maintain and have a copy of on my computer right now: 329<br><br><br>Although this was already pointed out to you in a response to a Tweet of<br>yours, I'd like to expand on this here to clarify:<br><br><br>You say that you stick to the 3-major-ghc-release support-window<br>convention for your libraries. This is good, because then you don't need<br>any CPP at all! Here's why:<br><br></span></span>[...]<br></blockquote><div><br></div><div>So what do I have to write today to have my Monad instances be:</div><div><br></div><div> * Warning free - Warnings are useful. Turning them off or having spurious warnings both contribute to bugs.</div><div> * Use imports that either are qualified or have explicit import lists - Unqualified imports makes code more likely to break when dependencies add exports.</div><div> * Don't use CPP.</div><div><br></div><div>Neither AMP or MRP includes a recipe for this in their proposal. AMP got one post-facto on the Wiki. It turns out that the workaround there didn't work (we tried it in Cabal and it conflicted with one of the above requirements.)</div><span class=""><span><div><br></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">PS: I'm a bit disappointed you seem to dismiss this proposal right away<br>    categorically without giving us a chance to address your<br>    concerns. The proposal is not a rigid all-or-nothing thing that<br>    can't be tweaked and revised.  That's why we're having these<br>    proposal-discussions in the first place (rather than doing blind<br>    +1/-1 polls), so we can hear everyone out and try to maximise the<br>    agreement (even if we will never reach 100% consensus on any<br>    proposal).<br><br>    So please, keep on discussing!<br></blockquote></span></span></div><br></div><div class="gmail_extra" style="font-size:12.8px">The problem by discussions is that they are done between two groups with quite a difference in experience. On one hand you have people like Bryan, who have considerable contributions to the Haskell ecosystem and much experience in large scale software development (e.g. from Facebook). On the other hand you have people who don't. That's okay. We've all been at the latter group at some point of our career.</div><div class="gmail_extra" style="font-size:12.8px"><br></div><div class="gmail_extra" style="font-size:12.8px">What's frustrating is that people don't take a step bad and realize that they might be in the latter group and should perhaps listen to those in the former. This doesn't happen, instead we get lots of "C++ and Java so bad and we don't want to be like them." Haskell is not at risk of becoming C++ or Java (which are a large improvement compared to the languages came before them). We're at risk of missing our window of opportunity. I think that would be a shame, as I think Haskell is a step forward compared to those languages and I would like to see more software that used be written in Haskell.</div><div class="gmail_extra" style="font-size:12.8px"><br></div><div class="gmail_extra" style="font-size:12.8px">We've been through this many times before on the libraries list. I'm not going to win an argument on this mailing list. Between maintaining libraries you all use and managing a largish team at Google, I don't have much time for a discussion which approaches a hundred emails and is won by virtue of having lots of time to write emails.</div><span class="HOEnZb"><font color="#888888"><div class="gmail_extra" style="font-size:12.8px"><br></div><div class="gmail_extra" style="font-size:12.8px">-- Johan</div><div class="gmail_extra" style="font-size:12.8px"><br></div></font></span></div></div>
<br>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br></div>