[Haskell-cafe] Theory about uncurried functions

Luke Palmer lrpalmer at gmail.com
Tue Mar 3 12:18:34 EST 2009


On Tue, Mar 3, 2009 at 2:43 AM, Peter Verswyvelen <bugfact at gmail.com> wrote:

> Lambda calculus is a nice theory in which every function always has
> one input and one output. Functions with multiple arguments can be
> simulated because functions are first class and hence a function can
> "return" a function. Multiple outputs cannot be done, one must embed
> these outputs in some data type, e.g. using a tuple, or one must use
> continuation passing style.
>
> Now, does a similar theory exist of functions that always have one
> input and one output, but these inputs and outputs are *always*
> tuples? Or maybe this does not make any sense?


Well, this is not quite an answer to your question, but the curried multiple
arguments convention in Haskell is exactly that: a convention.  For example,
in ML, most functions which take multiple arguments take them in the form of
a tuple.  They could just as well be curried, but the culture prefers
tuples.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090303/ff0892f9/attachment.htm


More information about the Haskell-Cafe mailing list