[Haskell-cafe] About ($)
robert dockins
robdockins at fastmail.fm
Thu Jun 2 15:08:13 EDT 2005
> Hello there,
>
> name's Frank-Andre Riess. Nice to meet you m(_ _)m
Welcome.
> So, well, my first question on this list is admittedly somewhat simple, but I
> managed to delay it long enough and now I think I should ask about it: Does
> ($) have any relevance at all except for being a somewhat handier version of
> parentheses?
That's mostly how it is used (although some will say that it is a
terrible idea), but one can also do some pretty neat tricks with it as a
higher-order function. Eg,
zipWith ($)
Is a function which takes a list of functions and a list of arguments
and applies the functions pairwise with the arguments. In addition,
because of the way the zip* functions work, you can create an infinite
cycle of functions to apply to some arguments as in:
zipWith ($) (cycle [sin,cos]) [1..5]
which is equivalent to:
[sin 1,cos 2,sin 3,cos 4,sin 5]
I'm sure there are other more esoteric things, but this is about as
complex as I try to go to avoid severe headaches :)
Robert Dockins
More information about the Haskell-Cafe
mailing list