[Haskell] question about a failure to generalize

Tom Pledger tom at pledger.gen.nz
Mon Sep 17 00:15:10 EDT 2007


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

Regards,
Tom




More information about the Haskell mailing list