Currying

Keith A. Lewis

April 25, 2024

Abstract
Relationship between Cartesian product and exponentials.

Notation can be used as a tool of thought, as Iverson pointed out, and won a Turing Award for.

The cartesian product of sets A and B is the set of all pairs A\times B = \{(a, b)\mid a\in A, b\in B\}.

The exponential of sets A and B is the set of all functions A^B = \{f\colon B\to A\}.

Currying is the isomorphism between A^{B\times C} and (A^B)^C.

The language Iverson invented, APL, parsed expressons from right to left. We write A^B = \{f\colon A\leftarrow B\} and bf instead of f(b).

If f\colon A\leftarrow B\times C define ,f\colon (A\leftarrow B)\leftarrow C by bc,f = b(c,f) = (b,c)f.

Exercise. Show a = b(c,f) if and only if a = (b,c)f.