在Haskell中有没有仿函数的函子实例,因为我们不能实现return?

Eli*_*ICA 5 haskell

在Haskell中有没有因为我们无法实现而不能成为单子的函子的示例return

我已经看到了这个答案,并从中得到启发。

直观地看来,我们总是可以return使用类型构造函数来实现。但是我一定想念一些东西。

Jos*_*ica 8

这正是Bind类型类代表:事情有一个绑定操作,但不一定有回报。这些类型是的实例Bind,但不是的实例,Monad因为它们没有return

  • @IgnatInsarov我认为这一点都不不公平。所有bifunctors都是琐碎的函子。是的,地图和元组都是示例。 (3认同)

Dan*_*ner 6

我想如果没有构造函数,我们就不能调用一个:

{-# LANGUAGE EmptyCase #-}
data Whoops a
instance Functor Whoops where fmap f v = case v of
Run Code Online (Sandbox Code Playgroud)

编辑实际上,这是在链接的问题上提到的:搜索DeadPigworker用来显示某物如何成为函子而不适用的类型。