我正试图深入了解这个问题 Monad
类的层次结构。当然,部分原因是看到了很多例子,但我对这些课程最初被发现的历史及其动机特别感兴趣。
我明白那个 Monad
s最初是作为Haskell中IO问题的解决方案而出现的,并且熟悉Moggi和Wadler在1989-92介绍它们的论文。
我也看到了哪里 Applicatives
介绍了Conor McBride和Ross Paterson的“有效的应用程序设计”。
我的问题是什么推广 Functor
s,他们什么时候来的?我认为它必须在之后 Monad
以来 Functor
不是超类,但是自LISP早期以来,人们还没有使用过广义的地图功能吗?