On Mon, Sep 17, 2007 at 04:15:10PM +1200, Tom Pledger wrote:
> Norman Ramsey wrote:
>  :
>  | This code fails to compile because the compiler is willing to
>  | use 'fold' at only one type (CmmExpr as it happens)
>  :
>
> When it failed to compile, was
>
>     fold = foldRegsUsed
>
> a top-level declaration in the module, rather than local to foldRegsUsed?
>
> If so, try working around the monomorphism restriction by changing from a 
> pattern binding to a function binding.
>
>     fold f = foldRegsUsed f

The monomorphism restriction is not affected by top-level-or-not, see
sections 4.5.1 and 4.5.5 in the Haskell 98 Language and Libraries
Report.

Stefan

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to