[Haskell-cafe] Origins of '$'
Hans Aberg
haberg at math.su.se
Sun Dec 7 05:05:29 EST 2008
On 7 Dec 2008, at 04:30, George Pollard wrote:
> This is a little bit random, but I was just wondering if anyone knew
> where the $ low-precedence parenthesis-eliminating application
> operator
> originated. The Haskell Report doesn't mention anything, and I can't
> search for "$" on Google. So... who thought it up? Does it
> originate in
> an earlier language, or is it uniquely Haskellish? :)
As for the operator itself, it appears in Alonzo Church, "The Calculi
of Lambda-Conversion", where it is written as exponentiation, like
x^f, or typographically as
f
x
One can define operators
a ^ b := b(a) -- Application in inverse.
(a * b)(x) := b(a(x)) -- Function composition in inverse.
(a + b)(x) := a(x) * b(x)
O(x) := I -- Constant function returning identity.
I(x) := x -- Identity.
and use them to define lambda calculus (suffices with the first four;
Church reverses the order of "*").
Then on Church's natural number functionals, these are just the
expected natural number operations.
Hans
More information about the Haskell-Cafe
mailing list