Functor类型背后的历史是什么?

时间:2013-06-02 07:07:58

标签: haskell functor category-theory

我试图深入理解类的Monad层次结构。当然,部分原因是看到了很多例子,但我对这些课程最初被发现的历史及其动机特别感兴趣。

我理解Monad最初是作为Haskell中IO问题的解决方案而来的,并且熟悉Moggi和Wadler在1989-92介绍它们的论文。

我还看到Conor McBride和Ross Paterson在“有效的应用程序设计”中引入Applicatives的地方。

我的问题是推广Functor的问题,它们何时出现?我假设它必须在Monad之后,因为Functor不是超类,但是从LISP的早期开始就没有人使用广义映射函数?

1 个答案:

答案 0 :(得分:14)

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