[Haskell-cafe] Classes in type declarations in Hugs
Tomasz Zielonka
tomasz.zielonka at gmail.com
Tue Dec 7 02:18:16 EST 2004
On Mon, Dec 06, 2004 at 10:15:19AM -0000, Simon Peyton-Jones wrote:
> | This is where I find ghc's newtype deriving to be incredibly useful.
> |
> | newtype CPError a = CPError (Either Error a)
> | deriving(Monad,MonadError)
> |
> | now CPError is a monad and an instance of MonadError and you are free
> to
> | override or inherit more interesting instances at will without
> | conflicting with the basic types for Either :)
>
> Aha! I've always wondered whether anyone uses this feature, which I
> implemented at John Hughes's suggestion. I'd be interested to know if
> you are alone, or whether others do so too.
>From my code:
...
deriving (MonadIO, MonadReader PGExecEnv, Functor, MonadCont)
...
deriving (Monad, MonadWriter PP.Doc, MonadReader PGExecEnv, MonadIO, Functor)
Best regards,
Tomasz
More information about the Haskell-Cafe
mailing list