25 Jan
2009
25 Jan
'09
12:45 p.m.
2009/1/24 John Hartnup <john.hartnup@gmail.com>:
But is that it's only purpose? To placate the LISP haters by removing parentheses?
Also one important difference is that the standard application operator (space) associates to the left while $ associates to the right. It says how missing parenthesis are filled in. For example (a b c d e) stands for ((((a b) c) d) e) while (a $ b $ c $ d $ e) stands for (a (b (c (d e)))) Sometimes you need the former behavior sometimes the later. The $ is useful for example when an argument to an unary function is itself a function application. For example you can write filter (<4) $ map (+1) $ [100,99,1,2,3,4] In this case you can think of $ to be like a "unix pipe". Sincerely, jan.