Comment

Comment by tel

Sometimes you do not want an understandable name for a thing... instead a merely memorable one is far better.

Currying is actually an incredibly specific and universal thing. It's the act of noting that a function space

    (a, b) -> c
is the same as a "higher-order function space"

    a -> (b -> c)
in a very particular way. It's worth it to give this thing it's own name because it's a highly important and unique transformation.

"Curring" and partial application as it exists which take this notion further, such as those which transform (a, b, c) -> d to (a -> b -> c -> d) or (a, b, c) -> d to ((a, c) -> b -> d) are generalizations of the core concept and perhaps don't honestly deserve the name (if you're a stickler).

Merely calling currying and uncurrying by some operational name de-emphasizes these operations. It's like calling a "home run" a "quadruple" in baseball. Sure, it makes sense, but it's really just missing something.

parent tel 11 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton