1
我一直given下面的类接口:通用嵌套monad操作?
class Misty m where
banana :: (a -> m b) -> m a -> m b
unicorn :: a -> m a
现在我需要修改这个来启用:
jellybean :: (Misty m) => m (m a) -> m a
我相信这个问题是推动我补充的子类Misty
,多参数:
class Misty m => VeryMisty m a where
... banana' (Just (Just v)) = banana --?
我不确定如何在Misty
创建一个函数来在这个嵌套monad上运行?
我也不确定我的方法是否正确和/或最简单?
我想你只需要用'banana'和'unicorn'来定义'jellybean' – Euge
你确实知道'Misty'是'Monad','banana'是'= <<'(翻转的'' ='),'unicorn'是'return','jellybean'是'join',对吧? – chepner