Re: [Haskell-cafe] Origins of '$'

2008-12-14 Thread Derek Elkins
On Mon, 2008-12-08 at 23:15 +0100, Joachim Breitner wrote: Hi, Am Montag, den 08.12.2008, 15:59 -0600 schrieb Nathan Bloomfield: Slightly off topic, but the A^B notation for hom-sets also makes the natural isomorphism we call currying expressable as A^(BxC) = (A^B)^C. So A^(B+C) = A^B

Re: [Haskell-cafe] Origins of '$'

2008-12-14 Thread Richard O'Keefe
On 15 Dec 2008, at 12:52 pm, Derek Elkins wrote: I want to point out a quick categorical way of proving this (and almost all the other arithmetic laws follow similarly.) This is just continuity of right adjoints. The interesting thing is the adjunction, one that is commonly neglected in

Re: [Haskell-cafe] Origins of '$'

2008-12-09 Thread Arnar Birgisson
On Mon, Dec 8, 2008 at 23:10, Dan Piponi [EMAIL PROTECTED] wrote: More generally, all of Tarski's high school algebra axioms carry over to types. You can see the axioms here: http://math.bu.edu/people/kayeats/papers/saga_paper4.ps That proves type theory is child's play :-) Ah, the power of a

Re: [Haskell-cafe] Origins of '$'

2008-12-09 Thread Hans Aberg
On 8 Dec 2008, at 23:15, Joachim Breitner wrote: Am Montag, den 08.12.2008, 15:59 -0600 schrieb Nathan Bloomfield: Slightly off topic, but the A^B notation for hom-sets also makes the natural isomorphism we call currying expressable as A^(BxC) = (A^B) ^C. So A^(B+C) = A^B × A^C ? Oh,

Re: [Haskell-cafe] Origins of '$'

2008-12-08 Thread Mark P. Jones
Don Stewart wrote: 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? As far as Haskell is concerned, the first report-ed occurrence of the $ operator was in

Re: [Haskell-cafe] Origins of '$'

2008-12-08 Thread Jonathan Cast
On Mon, 2008-12-08 at 09:58 -0800, Mark P. Jones wrote: Don Stewart wrote: 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? As far as Haskell is

Re: [Haskell-cafe] Origins of '$'

2008-12-08 Thread Dan Piponi
On Sun, Dec 7, 2008 at 2:05 AM, Hans Aberg [EMAIL PROTECTED] wrote: As for the operator itself, it appears in Alonzo Church, The Calculi of Lambda-Conversion, where it is written as exponentiation, like x^f That's reminiscent of the notation in Lambek and Scott where (roughly speaking) the

Re: [Haskell-cafe] Origins of '$'

2008-12-08 Thread Nathan Bloomfield
In set theory, and sometimes in category theory, A^B is just another notation for Hom(B, A), and the latter might be given the alternate notation B - A. And th reason is that for finite sets, computing cardinalities result in the usual power function of natural numbers - same as Church,

Re: [Haskell-cafe] Origins of '$'

2008-12-08 Thread Joachim Breitner
Hi, Am Montag, den 08.12.2008, 15:59 -0600 schrieb Nathan Bloomfield: Slightly off topic, but the A^B notation for hom-sets also makes the natural isomorphism we call currying expressable as A^(BxC) = (A^B)^C. So A^(B+C) = A^B × A^C ? Oh, right, I guess that’s actually true: uncurry either

Re: [Haskell-cafe] Origins of '$'

2008-12-08 Thread Dan Piponi
2008/12/8 Joachim Breitner [EMAIL PROTECTED]: So A^(B+C) = A^B × A^C ? That's part of the basis for Hinze's paper on memoization: http://www.informatik.uni-bonn.de/~ralf/publications/WGP00b.ps.gz It's always nice to see that I havn't learned the elementary power calculation rules for nothing

Re: [Haskell-cafe] Origins of '$'

2008-12-07 Thread Luke Palmer
On Sun, Dec 7, 2008 at 3:05 AM, Hans Aberg [EMAIL PROTECTED] wrote: 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

Re: [Haskell-cafe] Origins of '$'

2008-12-07 Thread Hans Aberg
On 7 Dec 2008, at 11:34, Luke Palmer wrote: On Sun, Dec 7, 2008 at 3:05 AM, Hans Aberg [EMAIL PROTECTED] wrote: 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

Re: [Haskell-cafe] Origins of '$'

2008-12-07 Thread Hans Aberg
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

[Haskell-cafe] Origins of '$'

2008-12-06 Thread George Pollard
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

Re: [Haskell-cafe] Origins of '$'

2008-12-06 Thread Don Stewart
porges: 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

Re: [Haskell-cafe] Origins of (x:xs)?

2006-12-20 Thread Doug Quale
Paul Hudak [EMAIL PROTECTED] writes: As for x:xs, the xs is meant to be the plural of x, and is pronounced exs (I guess...). Similarly, n:ns is one n followed by many more ens. Make sense? I think this convention is often used in the Prolog community as well, as in X|Xs. -- Doug Quale

Re: [Haskell-cafe] Origins of (x:xs)?

2006-12-19 Thread Paul Hudak
Pattern matching goes back to Burstall and Darlington's work in the 1970's. As for x:xs, the xs is meant to be the plural of x, and is pronounced exs (I guess...). Similarly, n:ns is one n followed by many more ens. Make sense? (By the way, : is often pronounced followed by.) -Paul

Re: [Haskell-cafe] Origins of (x:xs)?

2006-12-19 Thread Dougal Stanton
Quoth Toby Hutton, nevermore: Does anyone know why (x:xs)? Is xs meant to be a synonym for 'excess'? I've seen it said somewhere (possibly Hudak's _Haskell School of Expression_) that xs should be read as the plural of x. Although personally I always gravitate towards the excess notion,