On Thu, Mar 06, 2008 at 11:43:08AM +0000, Simon Peyton-Jones wrote:
> See 4.5.5 in the Report http://haskell.org/onlinereport/decls.html.
> 
> Rule 1 says that 'compress' is not generalised.  So it gets the type
>         [t] -> [t]
> where 'a' is an as-yet-un-determined type; in implementation terms, a 
> unification variable.
> 
> Rule 2 says "Any monomorphic type variables that remain when type inference 
> for an entire module is complete, are considered ambiguous, and are resolved 
> to particular types using the defaulting rules".  But in this case no 
> monomoprhic variables remain, because by then the type of compress has been 
> refined to [Char] -> [Char]

Ah! it all makes sense now. excellent. It has been a persistent
annoyance that jhc gets dinged by the monomorphism restriction more than
ghc, but now I see why. thanks!

        John

-- 
John Meacham - ⑆repetae.net⑆john⑈
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to