<br><br>On Saturday, July 9, 2016, Henrik Nilsson <<a href="mailto:Henrik.Nilsson@nottingham.ac.uk">Henrik.Nilsson@nottingham.ac.uk</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
On 07/09/2016 08:09 AM, C Maeder wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The asymmetry that you mention is already apparent for (Haskell98) infix<br>
expressions, i.e. when "composing" lambda- or if-expression:<br>
<br>
  (if c then f else g) . \ x -> h x<br>
<br>
Parentheses around the last argument of "." do not matter, but<br>
parentheses around the first argument make a real difference<br>
</blockquote>
<br>
But that has to do with how grammatical ambiguity related to<br>
in this case "if" and "lambda" are resolved by letting<br>
the constructs extend as far as possible to the right.<br>
<br>
This the standard way of resolving that kind of ambiguity<br>
across a very wide range of programming languages and parsing<br>
tools (e.g. preferring shift over reduce in an LR parser).<br>
(And also in principle how lexical ambiguities are typically<br>
resolved, sometimes referred to as the "maximal munch rule".)<br>
<br>
In contrast, the present proposal suggests treating<br>
different argument positions in grammatically<br>
different ways (different non-terminals). As far as I know,<br>
that is unprecedented. And in any case, it manifestly<br>
complicates the grammar (more non-terminals) and as<br>
a consequence adds another grammatical hurdle to<br>
learning the language.<br>
<br></blockquote><div><br></div><div>Well said, I think this articulates exactly what I'm reacting to.  Thanks for taking the time to articulate this.  I agree. <span></span></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think we often tend to forget just how exotic<br>
Haskell syntax can be to the uninitiated. Which is<br>
the vast majority of the rest of the programmer world<br>
as well as beginners. Only the other week I gave a<br>
presentation to a group of highly skilled developers<br>
at a tech-savvy London-based company. The emphasis of<br>
the talk was not at all on Haskell as such, but small<br>
Haskell fragments did feature here and there, which I<br>
(naively) thought would be mostly self explanatory.<br>
Well, let's just say I was wrong.<br>
<br>
Now, we can't make Haskell syntax less exotic (not that I'd<br>
advocate that: I think basic Haskell syntax for the most part<br>
strikes a pretty good balance on a number of counts), but we can<br>
certainly avoid making it even more complicated and exotic.<br>
Which the present proposal would, in my opinion.<br>
<br>
Best,<br>
<br>
/Henrik<br>
<br>
-- <br>
Henrik Nilsson<br>
School of Computer Science<br>
The University of Nottingham<br>
<a>nhn@cs.nott.ac.uk</a><br>
<br>
<br>
<br>
<br>
This message and any attachment are intended solely for the addressee<br>
and may contain confidential information. If you have received this<br>
message in error, please send it back to me, and immediately delete it. <br>
Please do not use, copy or disclose the information contained in this<br>
message or in any attachment.  Any views or opinions expressed by the<br>
author of this email do not necessarily reflect the views of the<br>
University of Nottingham.<br>
<br>
This message has been checked for viruses but the contents of an<br>
attachment may still contain software viruses which could damage your<br>
computer system, you are advised to perform your own checks. Email<br>
communications with the University of Nottingham may be monitored as<br>
permitted by UK legislation.<br>
<br>
_______________________________________________<br>
Glasgow-haskell-users mailing list<br>
<a>Glasgow-haskell-users@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users</a><br>
</blockquote>