[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