在Haskell中有没有因为我们无法实现而不能成为单子的函子的示例return?
我已经看到了这个答案,并从中得到启发。
直观地看来,我们总是可以return使用类型构造函数来实现。但是我一定想念一些东西。
这正是该Bind类型类代表:事情有一个绑定操作,但不一定有回报。这些类型是的实例Bind,但不是的实例,Monad因为它们没有return:
(,) w,,WriterT w m和RWST r w s m,只要w是,Semigroup但不是MonoidMap k,HashMap k和IntMap kV1(注意:这与Daniel WagnerWhoops和Pigworker的Dead同构)我想如果没有构造函数,我们就不能调用一个:
{-# LANGUAGE EmptyCase #-}
data Whoops a
instance Functor Whoops where fmap f v = case v of
Run Code Online (Sandbox Code Playgroud)
编辑实际上,这是在链接的问题上提到的:搜索DeadPigworker用来显示某物如何成为函子而不适用的类型。