On 5/18/06, Edgardo Hames <ehames / gmail.com> wrote:
> I think partial functions is unapropriate name. The first thing I
> thought of when I read the subject of this email was the mathematical
> concept of it[0].
>

Exactly. Partial functions are another term for what some references
call 'recursively enumerable' functions, meaning a function that can
be computed by some Turing machine. I believe the appropriate term is
'Curried functions', from the logician who first proposed them,
someone called Haskell Curry (yes, *that* Haskell).

I've been programming in Ocaml too, and there it seems that curried
functions are extremely useful. In Ocaml most often I've used it to
call a function with several arguments multiple times with only a few
arguments changing between calls, or for passing a function with say 4
arguments to an HOF that expects a function with only one, I create a
curried function that keeps 3 of the 4 arguments fixed and pass that.
Since it is indeed possible to program in the functional style in
Ruby, I could imagine that the technique would be just as usable.