<p dir="ltr">The library committee does not generally have any formal authority over or involvement in language extensions or language changes. I would argue this entire discussion should probably have taken place elsewhere (e.g., haskell-cafe or ghc-devs). That said, the library gurus likely do have some sense of how much you're likely to gain by adding such an extension.</p>
<p dir="ltr">While I'm writing this message, I think I might as well try to explain a bit better why I think the proposed extension is a bad idea. In a procedural language, the field dot is an all-purpose way to narrow focus from a record or object to a field or method. In C, the following all make sense (I think--my C is rusty).</p>
<p dir="ltr">foo = fish.dog (<a href="http://fish.cat">fish.cat</a>) + 4<br>
<a href="http://fish.cat">fish.cat</a> = 12<br>
<a href="http://fish.cat">fish.cat</a> += 17<br>
shark = &<a href="http://fish.cat">fish.cat</a></p>
<p dir="ltr">In Haskell, only the first usage is sensible. Once the hypothetical .cat is applied, the fish is out of the picture. Lenses, on the other hand, offer sensible ways to talk about functional approximations of all of these things. I believe a syntactic extension making lenses easier to use could be a big win, but the current proposal just makes easy things easy, which they already are.</p>
<p dir="ltr">Others have, correctly, mentioned the use of . in the module system as justification. This is sensible, since modules look a bit like records if you squint enough. But I think most Haskellers will agree that they'd rather see modules look more like records than the other way around.</p>
<div class="gmail_quote">On Nov 4, 2015 7:20 PM, "Greg Weber" <<a href="mailto:greg@gregweber.info">greg@gregweber.info</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">+1 for an opt-in extension. I am not sure if any approval is needed from the libraries committee for an optional extension like this if you are willing to do the work to bring it to fruition yourself.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 4, 2015 at 2:44 AM, Jeremy <span dir="ltr"><<a href="mailto:voldermort@hotmail.com" target="_blank">voldermort@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dot as Postfix Function Apply<br>
(<a href="https://ghc.haskell.org/trac/ghc/wiki/Records/DeclaredOverloadedRecordFields/DotPostfix" rel="noreferrer" target="_blank">https://ghc.haskell.org/trac/ghc/wiki/Records/DeclaredOverloadedRecordFields/DotPostfix</a>)<br>
was originally part of ORF, but dropped to keep the scope/discussion more<br>
manageable. Now that ORF is in for GHC 8.0, I would like to re-propose dot<br>
postfix syntax.<br>
<br>
The idea is that instead of<br>
<br>
(title person) ++ " " ++ (firstName person) ++ " " ++ (lastName person)<br>
<br>
we could have<br>
<br>
person.title ++ " " ++ person.firstName ++ " " ++ person.lastName<br>
<br>
This is a simple source-to-source translation with no changes to the type<br>
system (TDNR is an orthogonal proposal). The advantages are:<br>
<br>
  1. Code that's easier to read/write.<br>
  2. Familiar to users of almost every other programming language.<br>
  3. IDE auto-complete - an IDE can suggest functions applicable to the<br>
variable after typing .<br>
<br>
This would be an opt-in extension.<br>
<br>
I'm posting this to the libraries list because that's where proposals<br>
generally go, although this isn't strictly a library issue. If it should be<br>
on a different list I'll move it.<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://haskell.1045720.n5.nabble.com/Proposal-Dot-as-Postfix-Function-Apply-tp5821620.html" rel="noreferrer" target="_blank">http://haskell.1045720.n5.nabble.com/Proposal-Dot-as-Postfix-Function-Apply-tp5821620.html</a><br>
Sent from the Haskell - Libraries mailing list archive at Nabble.com.<br>
_______________________________________________<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><br></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>