Kevin, You mentioned two different error messages above. I just wanted to verify that both of them are taken care of now?
On Mon, Jun 14, 2010 at 6:19 PM, Kevin Jardine <[email protected]> wrote: > As MonadIO was no longer being automatically derived without mtl, I added > these lines: > > instance MonadIO MyMonad where > liftIO m = MyM (liftIO m) > > and this seems to have fixed the problem. I no longer need mtl and I can use > Heist as needed! > > --- On Mon, 6/14/10, Kevin Jardine <[email protected]> wrote: > >> From: Kevin Jardine <[email protected]> >> Subject: [Snap Framework] Splice functions and a custom monad >> To: [email protected] >> Date: Monday, June 14, 2010, 10:52 PM >> I'd like to run Heist template splice >> functions in my own custom monad (not Snap). >> >> I can define a splice function as: >> >> mySplice :: Splice MyMonad >> >> However, when I try to call functions that return values in >> my monad in mySplice, I get a compile error: >> >> Couldn't match expected type TemplateMonad MyMonad a >> against inferred type MyMonad () >> >> I've seen an example in the Heist documentation where the >> inner MyMonad is accessed using lift. But when I try that, I >> get another compile error: >> >> No instance for (MonadTrans TemplateMonad) >> arising from the use of 'lift' >> >> Gregory Collins advised replacing mtl with monads-fd and >> transformers. >> >> However, this breaks my custom monad (eg. MonadIO is no >> longer automatically derived). >> >> How do I get this to work? >> >> Kevin >> >> >> >> _______________________________________________ >> Snap mailing list >> [email protected] >> http://mailman-mail5.webfaction.com/listinfo/snap >> > > > > _______________________________________________ > Snap mailing list > [email protected] > http://mailman-mail5.webfaction.com/listinfo/snap > _______________________________________________ Snap mailing list [email protected] http://mailman-mail5.webfaction.com/listinfo/snap
