The monomorphism restriction and monomorphic pattern bindings

Ian Lynagh igloo at
Mon Apr 28 15:25:24 EDT 2008

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.


More information about the Haskell-prime mailing list