News for hackers. Stuff that matters.
Re:A difference between Haskell and Common Lisp by takle on Monday December 21, 2015 @10:04AM (#10771344)
One could also change the Haskell. Data.Function (&); Control.Arrow (>>>)

  -- the pipe operator seems to be all the rage these days
  (|>) = (&)
  
  -- forward application + forward composition
  xs |> (drop 3 >>> filter p >>> take 5)
Only function application

  xs |> drop 3 |> filter p |> take 5
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.
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/).