On Tue, 2009-03-03 at 10:43 +0100, Peter Verswyvelen 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?
There's the kappa calculus and also the related Freyd categories which are related to arrows. Theres also the theory induced by cartesian categories or the theory induced by (symmetric) monoidal categories (which are strengthenings of Freyd categories). You could probably also formalize such a language yourself. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe