[Haskell-cafe] Point-free style in guards

Henning Thielemann lemming at henning-thielemann.de
Thu Jul 31 19:37:12 EDT 2008


On Tue, 22 Jul 2008, L29Ah wrote:

> outStanza | (isMessage) = outMessage
>             | (isPresence) = outPresence
>             | (isIQ) = outIQ
>
> Why such a style doesn't work, so I must write ugly code like that:
>
> outStanza a | (isMessage a) = outMessage a
>             | (isPresence a) = outPresence a
>             | (isIQ a) = outIQ a
>
> so, guards can't be useful in point-free function definitions in any way

It's sad that syntactic sugar makes people want even more syntactic sugar
(some people thus call it syntactic heroin).

You can easily achieve the wanted effect by a function like 'select'
  http://www.haskell.org/haskellwiki/Case
 and that way you can also avoid guards in many cases.


More information about the Haskell-Cafe mailing list