[Haskell-cafe] Origins of '$'
dons at galois.com
Sat Dec 6 23:49:34 EST 2008
> Hello Haskell-Café:
> 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? :)
If in doubt, you can search the early archives.
Early on there is a discussion about using $ for module import
use ' or $ for module qualifiers. The former would require
But then by 91 we start to see things take shape,
haskell report version 1.1: beta-to-beta2
11 Jun 91 20:41
- ($$) :: (a -> b) -> a -> b
- f $$ a = f a
Where '$$' was removed from the draft 1.1 report.
Then in the following thread we start to see the emergence of the low
fixity $ that we know today. This is the first reference to it that I
can find in the list:
Sun, 1 Dec 1991 21:16:00 +0000
About the fixity of $
| The problem is that V1.1 does not allow things like:
| f x $ \y->
| g y $
| where the fixity of $ is defined as:
| infixr 0 $
Which suggests that $ was already in the 1.0 report going to SIGPLAN.
Perhaps Paul or Simon could shed light on it? Anyone have the 1.0 report
lying around to check if it was in earlier?
Paul reiterates this in Aug 1992,
Of course, if you really don't like the parens, you can always write
your example as:
f $ x!i
where ($) is defined in the prelude as:
infixr 0 $
f $ x = f x
More information about the Haskell-Cafe