<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 14, 2013 at 7:54 PM, Simon Peyton-Jones <span dir="ltr">&lt;<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">|  Indeed, I wished the 0-ary case would be more alike to the unary and<br>
|  binary case, cf.<br>
|<br>
|     return f0<br>
|     f1 &lt;$&gt; a1<br>
|     f2 &lt;$&gt; a1 &lt;*&gt; a2<br>
|<br>
|  What is needed is a nice syntax for &quot;idiom brackets&quot;.<br>
<br>
</div>Indeed.  I&#39;m quite open to adding idiom brackets to GHC, if everyone can agree on their syntax, and someone would like to offer a patch.<br>
<br>
Something like<br>
        (| f a1 a2 |)<br></blockquote><div><br></div><div>The last time I suggested this (on IRC), the first question someone asked was: How should nested uses of applicative work with idiom brackets? I think this question actually comes in two flavors:</div>
<div><br></div><div>  * Can you nest the brackets themselves?</div><div>  * How deeply do you traverse the expression to insert the applicative combinators?</div><div><br></div><div>Also, if anyone wants to look at prior art first, Idris supports applicative brackets.</div>
<div><br></div><div>Jason</div><div><br></div><div><br></div></div></div></div>