[Haskell-cafe] Theory about uncurried functions

Derek Elkins derek.a.elkins at gmail.com
Tue Mar 3 09:00:20 EST 2009

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.

More information about the Haskell-Cafe mailing list