On Wed, Aug 14, 2013 at 7:54 PM, Simon Peyton-Jones <simonpj@microsoft.com> wrote:
|  Indeed, I wished the 0-ary case would be more alike to the unary and
|  binary case, cf.
|
|     return f0
|     f1 <$> a1
|     f2 <$> a1 <*> a2
|
|  What is needed is a nice syntax for "idiom brackets".

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.

Something like
        (| f a1 a2 |)

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:

  * Can you nest the brackets themselves?
  * How deeply do you traverse the expression to insert the applicative combinators?

Also, if anyone wants to look at prior art first, Idris supports applicative brackets.

Jason