Ian Lynagh wrote:
On Mon, Apr 28, 2008 at 09:42:10AM -0700, Simon Marlow wrote:
Ok. So I counter-propose that we deal with pattern bindings like this:
The static semantics of a pattern binding are given by the following
translation. A binding 'p = e' has the same meaning as the set of
bindings
z = e
x1 = case z of { p -> x1 }
...
xn = case z of { p -> xn }
where z is fresh, and x1..xn are the variables of the pattern p.
Just to check, this is saying "no change relative to Haskell 98"
(although perhaps specifying it less ambiguously), right?
Right.
In the absence of the MR, we need a way to say precisely what
polymorphic overloaded pattern bindings mean, and the translation does
just that.
Cheers,
Simon
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime