On Sat, Aug 25, 2012 at 3:25 AM, Erik Hesselink <hessel...@gmail.com> wrote:
> I'm not sure if you already have something working, but we have > several in our codebase, all following a similar pattern. For example: > > newtype GeoServer a = GeoServer { unGeoServer :: ReaderT > GeoServerState (ServerPartT IO) a } > > instance MonadBaseControl IO GeoServer where > newtype StM GeoServer a = StMGeoServer { unStMGeoServer :: StM > (ReaderT GeoServerState (ServerPartT IO)) a } > liftBaseWith f = GeoServer (liftBaseWith (\run -> f (liftM > StMGeoServer . run . unGeoServer))) > restoreM = GeoServer . restoreM . unStMGeoServer > Thank you all, i've adapted Chris's code which is similar to yours, and it works now. > > Erik > > On Wed, Aug 22, 2012 at 9:16 AM, yi huang <yi.codepla...@gmail.com> wrote: > > I have a `newtype Yun a = Yun { unYun :: ReaderT YunEnv (ResourceT IO) a > }` > > , and i need to define an instance of `MonadBaseControl IO` for it. > > Newtype instance deriving don't work here. I guess the answer is simple, > i > > just can't figure it out, hope anybody can lightening me. > > > > Best regards. > > Yihuang. > > > > _______________________________________________ > > Haskell-Cafe mailing list > > Haskell-Cafe@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell-cafe > > > -- http://yi-programmer.com/
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe