<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"><<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>></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 <$> a1<br>
| f2 <$> a1 <*> a2<br>
|<br>
| What is needed is a nice syntax for "idiom brackets".<br>
<br>
</div>Indeed. I'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>