Re: Old bug hanging around?

[email protected] Wed, 7 Mar 2007 23:45:17 +0000 (GMT)
Newsgroups gmane.comp.lang.haskell.hugs.user
Message-ID <[email protected]>
> On Wed, Mar 07, 2007 at 10:54:55PM +0000, [email protected] wrote:
> > io f    = interact (unlines . f . lines)
> > showln  = (++ "\n") . show
> > 
> > -- Compute a simple cksum of a file
> > 
> > main = interact $ showln . foldl' k 5381
> >     where k h c = h * 33 + ord c
> > 
> > ========
> > 
> > Hugs> :load chksum.hs
> > ERROR "chksum.hs":15 - Unresolved top-level overloading
> > *** Binding             : showln
> > *** Outstanding context : Show b
> > 
> > Text.Printf>  
> > 
> > This error has been around for a while.
> 
> Yes, it's a documented divergence from Haskell 98 in the handling of
> the Monomorphism Restriction.
> 
> Workarounds are to give an explicit signature for showln, or to tweak
> the definition so it's a function:
> 
> showln x = show x ++ "\n"
> 
> (or, better)
> 
> showln x = shows x "\n"

That Works. 

Thanks,
Dave