
Hi, Recently I decided to port little project from snap 0.2 to 0.3 and I saw there were many changes in style of writing code (I mean heistLocal, render functions, extensions etc.). In snap 0.2 I had some function that was fetching data from database and then did some binding (via bindSplice) and finally disconnect from database. Here is the type of this function: myPageBind :: TempleState Snap -> Snap (TempleState Snap) Since Snap is instance of MonadIO I can use liftIO to embed IO computations but now in the 0.3 version I have to pass this function to heistLocal which type is: heistLocal :: (TemplateState n -> TemplateState n) -> m a -> m a so type of my function should be (in new version I need to have my application monad so I used it from bare template project from snap init) : myPageBind :: TemplateState Application -> TemplateState Application How then can I embed IO computations in that function? I can't use my last function either because I don't how to get TemplateState m now. Any suggestions? I'm sorry for my English and lack of code because I'm in work now so I don't have access to it. Best regards, Karol Samborski