相关疑难解决方法(0)

不是Functor/Functor/Applicative/Monad的好例子?

在向某人解释什么是类型类X时,我很难找到正好是X的数据结构的好例子.

所以,我请求示例:

  • 一个不是Functor的类型构造函数.
  • 一个类型构造函数,它是一个Functor,但不是Applicative.
  • 一个类型构造函数,它是Applicative,但不是Monad.
  • Monad的类型构造函数.

我认为Monad到处都有很多例子,但Monad的一个很好的例子与之前的例子有一些关系可以完成图片.

我寻找彼此相似的示例,区别仅在于属于特定类型类的重要方面.

如果有人能够设法在这个层次结构的某个地方隐藏一个Arrow的例子(它是在Applicative和Monad之间吗?),那也会很棒!

monads haskell functor applicative

202
推荐指数
5
解决办法
1万
查看次数

为什么安全的部分函数使用Maybe而不是泛化到任何Monad

我知道有些人认为fail是个错误,我明白为什么.(似乎MonadPlus是为了取代它).但只要它存在,似乎使用部分函数failpure不是JustNothing.因为这将允许你做你现在可以做的所有事情和更多,所以像safeHead你可以给你传统的Just/ Nothing或者你可以返回[x]/ [].

从我所读到的内容MonadPlus看起来似乎比使用更好fail.但是我对此肯定不够了解,而且它也可能涉及拉入Prelude,这可能是一个好主意,但这将是一个比使用更大的变化fail.

所以我想我的问题是为什么部分函数不使用failOR MonadPlus,两者似乎都比使用具体类型更好.

monads haskell

2
推荐指数
1
解决办法
240
查看次数

标签 统计

haskell ×2

monads ×2

applicative ×1

functor ×1