【发布时间】:2019-07-18 06:11:13
【问题描述】:
在 FFI 的 GHC 手册部分中,指出程序员可以使用newtype 在 IO monad 周围创建一个 wrapper monad,并在调用外部代码时使用它来代替 IO monad。 (GHC manual)
到目前为止,我有:
newtype PGm a = PGm (IO a)
instance Monad PGm where
(>>=) a b = ...
(>>) a b = ...
return a = PGm (return a) --I think
fail a = PGm (fail a) --I think
我不知道如何实现(>>=) 和(>>)。
【问题讨论】: