<div dir="ltr"><div>My wish for Haskell is that it had a standard library that wasn't all tied up in <font face="monospace">base</font> so that it could be independent of the compiler version, be easier to contribute to and would be structured so as to cater to those who want minimalism as well as those who want consistency/comprehensiveness.</div><div><br></div><div>Not sure where that puts me on the -1 to +1 scale.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 20 Aug 2019 at 08:17, John Villarreal via Libraries <<a href="mailto:libraries@haskell.org">libraries@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail-m_6789736627652900682ydpd6a13c1cyahoo-style-wrap" style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><div></div>
        <div dir="ltr"><br></div><div dir="ltr">I guess it's actually 13 people expressing disapproval and I'm -1 on this proposal as well. When I learned Haskell our programming exercises revolved heavily around manipulating and transforming lists. I never felt the urge to use "singleton" as there were always ways to express this more directly in an obvious way. In fact I would be rather confused to see code operating on lists using a noisy "singleton" function and maybe even consider it a code-smell.<br></div><br></div><div id="gmail-m_6789736627652900682yahoo_quoted_6499797538" class="gmail-m_6789736627652900682yahoo_quoted">
            <div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;color:rgb(38,40,42)">
                
                <div>
                    On Monday, 19 August 2019, 18:24:41 GMT-7, Taylor Fausak <<a href="mailto:taylor@fausak.me" target="_blank">taylor@fausak.me</a>> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id="gmail-m_6789736627652900682yiv7779135445"><div><div>It has been a week since I submitted my proposal. During that time, 28 people voted, with 16 expressing approval and 12 expressing disapproval. To everyone that voted so far: Thank you! You made for interesting discussion.<br clear="none"></div><div><br clear="none"></div><div>I still feel that Haskell would be improved by the addition of a `singleton` function to the `Data.List` module. (And also `Data.List.NonEmpty`, even though that wasn't part of my original proposal.) I would be happy to open a merge request adding code, tests, and documentation. <br clear="none"></div><div><br clear="none"></div><div>I haven't done so yet because I don't know what the next steps are. Can someone from the CLC tell me how an official approval or rejection can be reached, and how long that might take? Thanks!<br clear="none"></div><div><br clear="none"></div><div class="gmail-m_6789736627652900682yiv7779135445yqt0783073474" id="gmail-m_6789736627652900682yiv7779135445yqt32664"><div>On Mon, Aug 19, 2019, at 6:39 AM, Helmut Schmidt wrote:<br clear="none"></div><blockquote id="gmail-m_6789736627652900682yiv7779135445qt" type="cite"><div dir="ltr"><div dir="ltr"><br clear="none"></div><div>Andreas, you seem to be mistaken there'd only be one container API? But there's several container APIs besides "Data.Set" which provide some collection of elements!<br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="https://hackage.haskell.org/package/dlist-0.8.0.7/docs/Data-DList.html#v:cons" target="_blank">https://hackage.haskell.org/package/dlist-0.8.0.7/docs/Data-DList.html#v:cons</a><br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="https://hackage.haskell.org/package/dlist-0.8.0.7/docs/Data-DList.html#v:append" target="_blank">https://hackage.haskell.org/package/dlist-0.8.0.7/docs/Data-DList.html#v:append</a><br clear="none"></div><div><br clear="none"></div><div><br clear="none"></div><div><br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="https://hackage.haskell.org/package/text-1.2.4.0/docs/Data-Text.html#v:cons" target="_blank">https://hackage.haskell.org/package/text-1.2.4.0/docs/Data-Text.html#v:cons</a><br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="https://hackage.haskell.org/package/text-1.2.4.0/docs/Data-Text.html#v:append" target="_blank">https://hackage.haskell.org/package/text-1.2.4.0/docs/Data-Text.html#v:append</a><br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="http://hackage.haskell.org/package/vector-0.12.0.3/docs/Data-Vector.html#v:cons" target="_blank">http://hackage.haskell.org/package/vector-0.12.0.3/docs/Data-Vector.html#v:cons</a><br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="https://hackage.haskell.org/package/bytestring-0.10.10.0/docs/Data-ByteString.html#v:cons" target="_blank">https://hackage.haskell.org/package/bytestring-0.10.10.0/docs/Data-ByteString.html#v:cons</a><br clear="none"></div><div><br clear="none"></div><div><a rel="nofollow" shape="rect" href="https://hackage.haskell.org/package/bytestring-0.10.10.0/docs/Data-ByteString.html#v:append" target="_blank">https://hackage.haskell.org/package/bytestring-0.10.10.0/docs/Data-ByteString.html#v:append</a><br clear="none"></div><div><br clear="none"></div><div class="gmail-m_6789736627652900682yiv7779135445qt-gmail_quote"><div class="gmail-m_6789736627652900682yiv7779135445qt-gmail_attr" dir="ltr">Am Mo., 19. Aug. 2019 um 08:16 Uhr schrieb Andreas Abel <<a rel="nofollow" shape="rect" href="mailto:andreas.abel@ifi.lmu.de" target="_blank">andreas.abel@ifi.lmu.de</a>>:<br clear="none"></div><blockquote class="gmail-m_6789736627652900682yiv7779135445qt-gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Helmut, do you actually know the container APIs?<br clear="none"></div><div> <br clear="none"></div><div> Show me cons and append in Data.Set!<br clear="none"></div><div> <br clear="none"></div><div> On 2019-08-18 19:40, Helmut Schmidt wrote:<br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> > Am So., 18. Aug. 2019 um 17:17 Uhr schrieb Oliver Charles <br clear="none"></div><div> > <<a rel="nofollow" shape="rect" href="mailto:ollie@ocharles.org.uk" target="_blank">ollie@ocharles.org.uk</a> <mailto:<a rel="nofollow" shape="rect" href="mailto:ollie@ocharles.org.uk" target="_blank">ollie@ocharles.org.uk</a>>>:<br clear="none"></div><div> > <br clear="none"></div><div> >     On Sun, 18 Aug 2019, 5:47 pm Helmut Schmidt,<br clear="none"></div><div> >     <<a rel="nofollow" shape="rect" href="mailto:helmut.schmidt.4711@gmail.com" target="_blank">helmut.schmidt.4711@gmail.com</a><br clear="none"></div><div> >     <mailto:<a rel="nofollow" shape="rect" href="mailto:helmut.schmidt.4711@gmail.com" target="_blank">helmut.schmidt.4711@gmail.com</a>>> wrote:<br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> >         All these philosophical arguments calling for "consistency" with<br clear="none"></div><div> >         the container APIs or that function need words for the human<br clear="none"></div><div> >         mind to comprehend seem short-sighted to me. If we were<br clear="none"></div><div> >         consistent about the proposal itself we'd also demand to add<br clear="none"></div><div> > <br clear="none"></div><div> >            cons = (:)<br clear="none"></div><div> > <br clear="none"></div><div> >            empty = []<br clear="none"></div><div> > <br clear="none"></div><div> >            toList = id<br clear="none"></div><div> > <br clear="none"></div><div> >            fromList = id<br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> >     I honestly have no problem with any of these.<br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> > I forgot<br clear="none"></div><div> > <br clear="none"></div><div> >      append = (++)<br clear="none"></div><div> > <br clear="none"></div><div> > We also need to address another elephant in the room... those pesky <br clear="none"></div><div> > tuples and their special privileged non-wordy syntax!<br clear="none"></div><div> > <br clear="none"></div><div> >     pair = (,)<br clear="none"></div><div> > <br clear="none"></div><div> >     triple = (,,)<br clear="none"></div><div> > <br clear="none"></div><div> >     quadruple = (,,,)<br clear="none"></div><div> > <br clear="none"></div><div> >     quituple = (,,,,)<br clear="none"></div><div> > <br clear="none"></div><div> >     sextuple = (,,,,,)<br clear="none"></div><div> > <br clear="none"></div><div> >     septuble = (,,,,,,)<br clear="none"></div><div> > <br clear="none"></div><div> >     octuple = (,,,,,,,)<br clear="none"></div><div> > <br clear="none"></div><div> > If Haskell were invented in this century's EU Haskell source code would <br clear="none"></div><div> > be littered with €s instead of $s but then again I wonder why £ wasn't <br clear="none"></div><div> > picked. But I digress. We can kill two birds with one stone here:<br clear="none"></div><div> > <br clear="none"></div><div> >     apply = ($)<br clear="none"></div><div> > <br clear="none"></div><div> >     strictApply = ($!)<br clear="none"></div><div> > <br clear="none"></div><div> >     compose = (.)<br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> > It's fun to imagine how code using those definitions would like! But <br clear="none"></div><div> > it's still a -1 for me, sorry!<br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> > <br clear="none"></div><div> > _______________________________________________<br clear="none"></div><div> > Libraries mailing list<br clear="none"></div><div> > <a rel="nofollow" shape="rect" href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br clear="none"></div><div> > <a rel="nofollow" shape="rect" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br clear="none"></div><div> > <br clear="none"></div></blockquote></div></div><div>_______________________________________________<br clear="none"></div><div>Libraries mailing list<br clear="none"></div><div><a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br clear="none"></div><div><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br clear="none"></div><div><br clear="none"></div></blockquote></div><div><br clear="none"></div></div></div><div class="gmail-m_6789736627652900682yqt0783073474" id="gmail-m_6789736627652900682yqt67615">_______________________________________________<br clear="none">Libraries mailing list<br clear="none"><a shape="rect" href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br clear="none"><a shape="rect" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br clear="none"></div></div>
            </div>
        </div></div>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">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>
</blockquote></div></div>