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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to