<div dir="auto">The reason it's particularly unintuitive for lists is that we almost never explicitly construct lists using : and []. Sections like (+ 1) or (++ "Foo") reflect expressions like x + 1 and str ++ "Foo", but you simply never see x : [] in the wild. (In fact, in code review, I would always expect that to be rewritten as [x].)<div dir="auto"><br></div><div dir="auto">In turn, this means that (:[]) doesn't convey my intentions as directly as possible. I want to build a list that contains a single element x, which I usually think of as [x]; the fact that I do this by consing x with an empty list is an implementation detail.<br><div dir="auto"><div dir="auto"><br></div><div dir="auto">More generally, lists merit a special case because list notation is *already* a special case, and we can't do anything about that at this point!</div><div dir="auto"><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 13, 2019, 10:49 Jon Fairbairn <<a href="mailto:jon.fairbairn@cl.cam.ac.uk">jon.fairbairn@cl.cam.ac.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Tikhon Jelvis <<a href="mailto:tikhon@jelv.is" target="_blank" rel="noreferrer">tikhon@jelv.is</a>> writes:<br>
<br>
> Idioms like (:[]) are not intuitive at all.<br>
<br>
Can you explain that? Once one knows that all infix operators<br>
can be used in sections (+1), (++"foo"), etc, that notation<br>
should be obvious, both in reading and writing. It’s much better<br>
to use ideas that are uniformly usable throughout the language<br>
and can be learned once than to have to learn numerous specific<br>
words.<br>
<br>
I’m -1 on the proposal, obviously.<br>
<br>
-- <br>
Jón Fairbairn <a href="mailto:Jon.Fairbairn@cl.cam.ac.uk" target="_blank" rel="noreferrer">Jon.Fairbairn@cl.cam.ac.uk</a><br>
<br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank" rel="noreferrer">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>