
Henning Thielemann wrote:
On Wed, 29 Jun 2005, Jacques Carette wrote:
<sarcasm>Next thing you know, you'll want a different 'application' symbol for every arity of function, because they are ``different''. </sarcasm>
Btw. there is less sarcasm in it as may you think. There was already a proposal to extend function application: http://www.haskell.org/pipermail/haskell/2002-October/010629.html and guess - I would be very unhappy about such an extension because it mixes the representation of a map with the map itself.
There are no maps in Haskell (or in any syntactic lambda calculus), only representations of maps. It just turns out that things of type -> are builtin representations of maps, where other representations are not first class ``maps''. This is a bias of all lambda-calculus based languages. In ZFC, there are no maps, just sets, yet you can do lots of mathematics and CS in ZFC ;-). I happen to believe that a more structure-centric view of the world (a la category theory) reveals more than an object-centric view a la ZFC. But even arrows in a category sometimes turn out to be too restrictive. They are too ``functional'' instead of being more ``relational''. Once you realize that \x.x is *not* a function, but a denotation of a function, then a proposal like the one you point to starts to make a lot of sense. I rather like it. Jacques