[Haskell-cafe] still wrestling with io
sethg at ropine.com
Thu Feb 8 11:49:25 EST 2007
Martin DeMello wrote:
> Code here: http://zem.novylen.net/anagrid.html
> I've got an instance of IO appearing unexpectedly and I can't figure
> out where from. It throws up the following error:
> $ ghc --make test.hs
> Chasing modules from: test.hs
> Compiling Main ( test.hs, test.o )
> Couldn't match `StaticText ()' against `IO (StaticText ())'
> Expected type: StaticText ()
> Inferred type: IO (StaticText ())
> In the application `staticText p [text := (labelText a b)]'
> In the definition of `textOf':
> textOf p a b = staticText p [text := (labelText a b)]
According to the
"staticText" has the type signature "Window a -> [Prop (StaticText ())]
-> IO (StaticText ())". Your textOf function has the type signature
"Panel () -> String -> Anagrams -> StaticText ()". Your textOf
*definition*, therefore, something of type "StaticText()" left side and
type "IO (StaticText ())" on the right. The compiler doesn't like that.
More information about the Haskell-Cafe