6 Aug
2002
6 Aug
'02
9:28 p.m.
Hal Daume III writes: | > Try this instead: | > | > > instance Foo (Bar RealWorld) where | > > foo = stToIO . getFirst | > | > It should work OK, since it doesn't have the free type variable. | | Yes, this is what I have. But this kind of makes the fact that I'm | in ST useless, since afaik (ST RealWorld) is basically the same as | IO, so there's no reason for me to stay in the ST realm... How about making Foo a class of constructors of kind *->* instead of *? import ST data Bar s = Bar (STArray s Int Int) getFirst (Bar arr) = readSTArray arr 0 class Foo a where foo :: a s -> IO Int instance Foo Bar where foo = stToIO . getFirst