News for hackers. Stuff that matters.
Re:What is the advantage of currying? by michaelfeathers on Saturday February 02, 2013 @09:25AM (#5156014)
Yes, you can do that, but to me it's not as nice as having as syntax that makes it easy and natural. This is where the ML-derived languages like OCaml, F# and Haskell beat other functional languages, in my opinion.

You can argue that it's nice to be able to choose the argument to bind, but I think that's actually a bad feature. It gets rid of the design pressure to pick an order of arguments that maximizes easy composition.

Re:What is the advantage of currying? by guard-of-terra on Saturday February 02, 2013 @09:52AM (#5156085)
My experience with clojure/haskell tells me that order of arguments of common functions feels horribly wrong sometimes.
Re:What is the advantage of currying? by pohl on Saturday February 02, 2013 @11:27AM (#5156370)
I've noticed that, too. One of the answers/comments for this question suggests that (for Haskell, at least) the order of arguments is chosen to be in decreasing probability of partial application. Maybe that accounts for the odd feel.
Re:What is the advantage of currying? by michaelfeathers on Saturday February 02, 2013 @09:55AM (#5156093)
I guess there are no guarantees. Which ones are you thinking of in Haskell? There it seems to matter more.
Re:What is the advantage of currying? by guard-of-terra on Saturday February 02, 2013 @11:19AM (#5156340)
I always seem to struggle with array/list indexing functions.
Re:What is the advantage of currying? by crntaylor on Saturday February 02, 2013 @12:49PM (#5156675)
Like these?

  > let lst = [1,2,3]
  > lst!!0
  1
  > lst!!1
  2
  > let arr = listArray (0,2) [1,2,3]
  > arr!0
  1
  > arr!2
  2
I don't see how it would be particularly helpful to have the arguments to the indexing functions the other way around, but in case you really like the index coming before the list/array, you can always do

  > (!0) arr
  1
  > (!!1) lst
  2
Re:What is the advantage of currying? by jes5199 on Saturday February 02, 2013 @02:39PM (#5157035)
I was going to say that learning clojure, I get confused because some of the functions are backwards from haskell. So, I think maybe there's just not consensus about what's the best order.
Re:What is the advantage of currying? by tikhonj on Saturday February 02, 2013 @03:50PM (#5157281)
I had exactly the same experience when doing a project in Racket after using Haskell for a while. For what it's worth, I like the Haskell ordering more in most cases.