
28 Apr
2008
28 Apr
'08
3:25 p.m.
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?
Oh, and I also propose to use the terminology "variable binding" instead of "simple pattern binding",
Good idea. Thanks Ian