相关疑难解决方法(0)

为newtype创建MonadBaseControl实例

假设我有简单的newtype声明

newtype Foo a = Foo { unFoo :: ReaderT Int IO a }
Run Code Online (Sandbox Code Playgroud)

我想制作MonadBaseControl IO的Foo实例.它应该很简单,因为ReaderT Int IO已经是MonadBaseControl IO的一个实例.但是,使用GeneralizedNewtypeDeriving自动派生它不起作用,因为MonadBaseControl类具有关联类型.

如何为Foo编写MonadBaseControl IO实例?defaultLiftBaseWith和defaultRestoreM应该会有所帮助,但要解密它们的类型有点困难.

haskell monad-transformers

14
推荐指数
1
解决办法
712
查看次数

标签 统计

haskell ×1

monad-transformers ×1