[Haskell-cafe] Function application layout

Jonas Almström Duregård jonas.duregard at chalmers.se
Thu May 26 01:16:53 CEST 2011


Hi Alexander,

> This is "exactly" the applicative style, where idiom brackets come from.

I disagree. Layout has at least two advantages over applicative here:

1) Applicative costs (at least) three additional characters per function
parameter.
2) You can not have arbitrary infix operators in the parameters when using
applicative.

Also your example is not really equivalent to f (x a) (y b) (z c) is it?

> Idiom brackets abstract the <$> (fmap) and (<*>) operators away.

But from what I can tell it also reintroduces the parenthesis? How would you
write f (x a) (y b) in idiom brackets?

/J

On 25 May 2011 22:06, Alexander Solla <alex.solla at gmail.com> wrote:
>
>
> 2011/5/25 Jonas Almström Duregård <jonas.duregard at chalmers.se>
>>
>> I don't see the similarity (from reading this:
>> http://www.haskell.org/haskellwiki/Idiom_brackets). My suggestion is
>> just a way of using layout to avoid parenthesis.
>>
>
> This is "exactly" the applicative style, where idiom brackets come from.
>  Use Control.Applicative:
> f <$> x a
>   <*> y b
>   <*> z c
> You can use the identity functor to recover "plain old" function
> application.  Idiom brackets abstract the <$> (fmap) and (<*>) operators
> away.
> And yes, you are right that applicative style is very useful.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110526/a9c33c18/attachment.htm>


More information about the Haskell-Cafe mailing list