On Tue, Mar 3, 2009 at 2:43 AM, Peter Verswyvelen <[email protected]> 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.
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
