11

我试图对Monad类的层次结构有一个非常深刻的理解。当然,其中一部分是看到很多例子,但我对这些类是如何首次发现的历史及其动机特别感兴趣。

我知道Monads 最初是作为 Haskell 中 IO 问题的解决方案出现的,并且熟悉 Moggi 和 Wadler 在 1989-92 年介绍它们的论文。

我还看到Applicatives了 Conor McBride 和 Ross Paterson 的“Applicative Programming with Effects”中的介绍。

我的问题是什么是流行Functor的,它们是什么时候出现的?我认为它一定是在它不是超类之后,但是Monad自从FunctorLISP 早期以来人们就没有使用过广义映射函数吗?

4

1 回答 1

14

Functor出现在 Haskell 报告的 1.3 版本中,该报告标准化了 monadic IO 和更高种类的类型类。因此,Functor类型类与 monad 类型类一样古老。而且,更重要的Functor是,琼斯的论文中介绍了“构造函数类!”的第一个激励示例!你可能会说琼斯论文普及了这个想法,但正如你指出的那样,人们长期以来一直想要广义地图。

于 2013-06-02T07:27:00.907 回答