Re: Old bug hanging around?
Ross Paterson <[email protected]> Wed, 7 Mar 2007 23:37:52 +0000
| 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"