Re:A difference between Haskell and Common Lisp
by catnaroek on Monday December 21, 2015 @10:15AM
(#10771420)
I never understood the appeal of the pipe operator. It's a kludge to work around the need to eta-expand chained function compositions, which in turn is a kludge to work around the value restriction, which in turn is a kludge to prevent the combination of polymorphism and storage effects from breaking type soundness. Haskell doesn't need any of this.
[ Parent
| on HN ]
Re:A difference between Haskell and Common Lisp
by takle on Monday December 21, 2015 @10:49AM
(#10771601)
I agree with you. I'm going to write a post about function application and composition (right-to-left / left-to-right) so other communities can stop discussing non-essential matters.
I do like the fact that the `pipe operator` is often mentioned along the bash '|' which is used in a pointfree style.
Well it might make sense sometimes, so its good to know one's options :)
p x y z = f (g x y) z
p = ((.) f) . g
Re:A difference between Haskell and Common Lisp
by catnaroek on Monday December 21, 2015 @10:53AM
(#10771623)
Of course, something is very wrong if you ever use a section of the function composition operator. Use point-free within reason... :-p
Re:A difference between Haskell and Common Lisp
by klibertp on Monday December 21, 2015 @04:14PM
(#10773558)
Or go completely, absolutely nuts with point-free and use J (http://www.jsoftware.com/).