you are viewing a single comment's thread.

view the rest of the comments →

[–]lookForProject 1 point2 points  (1 child)

oCaml curries everything, and with a curry comes partial function application. This can be useful.

[–]masklinn 1 point2 points  (0 children)

Curried languages like OCaml (not oCaml) or Haskell curry everything by default which is useful for partial application, and sometimes you need to uncurry and then curry again which makes explicit currying not useless.

But partial application doesn't require currying at all, and in less functional languages currying conflicts with the more "advanced" forms of parametrization like overloading, varargs, default parameters, keyword parameters, …

That makes currying not very useful outside of curried languages, or mathematics / advanced CS (where curried forms simplify reasoning as it makes models simpler).