我正在使用http://www.cs.nott.ac.uk/~nhn/MGS2006/LectureNotes/lecture03-9up.pdf中介绍的简单单子变换器
我的错误处理变压器有类型
newtype ET m a = ET (m (Maybe a))
我已经实现了所有必要的管道,并且能够将它与身份 monad(在我的小沙箱中称为I
)结合起来并编写/编译非平凡的函数。
但我无法在屏幕上打印任何结果值。消息是:
No instance for (Show (ET I Value)) arising from a use of ‘print’
Maybe
是进口的。两者都可以自行导出I
和显示,没有问题。这是不会显示的混合。我看到两种方法:Value
Show
ET
- 尝试插入(我尝试以多种方式获得许多不同的错误消息)
deriving Show
的声明ET m a
- 正如一些网络资源所建议的那样,创建一个带有“独立派生声明”的可展示实例 - 到目前为止没有成功尝试。
如何ET I Value
在我的 REPL 中显示一个?