[Haskell-cafe] A voyage of undiscovery

Andrew Coppin andrewcoppin at btinternet.com
Fri Jul 17 13:08:37 EDT 2009


John Meacham wrote:
> actually, the rules are pretty straightforward. It doesn't matter where
> something is bound, just _how_ it is bound. Let-bound names (which
> includes 'where' and top-level definitions) can be polymorphic.
> lambda-bound or case-bound names (names bound as an argument to a
> function or that appear in a pattern) can only be monomorphic. And
> that's all there is to it. (the monomorphism restriction complicates it
> a little, but we don't need to worry about that for now)
>   

That seems simple enough (although problematic to implement). However, 
the Report seems to say that it matters whether or not the bindings are 
muturally recursive [but I'm not sure precisely *how* it matters...]



More information about the Haskell-Cafe mailing list