Vivian McPhail wrote: > > > class Forkable a where > > > fork :: String -> a -> a -> a .... > What I would like to be able to do is > differentiate between Forkable (m a -> > b) and Forkable (<function type> -> b).
Have you tried this combination of instances? instance Forkable (IO a) where ... -- and similarly for all the concrete -- monad types you will use fork with instance (Forkable a, Forkable b) => Forkable (a -> b) where ... Alternatively, since the fork function seems to be all about propagating a value (the String), would Control.Monad.Reader serve your purpose? Regards, Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe