我正在同时使用 LevelDB 库和 Snap 框架。我有:
main :: IO ()
main = runResourceT $ do
db <- open "thedb" defaultOptions { createIfMissing = True }
liftIO $ serveSnaplet defaultConfig $ initWeb db
现在在我的处理程序中,我不确定如何返回MonadResource IO
以查询数据库:
handleWords :: Handler App App ()
handleWords = do
words <- uses thedb $ \db -> $ get db def "words"
writeBS $ pack $ show words
这给了我一个:No instance for (MonadResource IO) arising from a use of 'get'
有任何想法吗?我觉得我错过了有关如何正确创建单子“堆栈”的内容。谢谢