11

Monadクラスの階層構造を深く理解しようとしています。もちろん、その一部は多くの例を見ることですが、これらのクラスが最初に発見された経緯とその動機に特に興味があります。

私はMonads が Haskell の IO 問題の解決策として最初に登場したことを理解しており、Moggi と Wadler による 1989 年から 1992 年にそれらを紹介した論文に精通しています。

ApplicativesConor McBride と Ross Paterson の「Applicative Programming with Effects」で紹介された場所も見てきました。

Functor私の質問は、何がs を普及させたのかということです。Monadはスーパークラスではないので後であると思いますFunctorが、LISP の初期の頃から一般化されたマップ関数を使用していませんか?

4

1 に答える 1

14

Functorモナディック IO とより高い種類の型クラスの両方を標準化した Haskell レポートの 1.3 バージョンにありました。したがって、Functor型クラスはモナド型クラスと同じくらい古いです。さらに、Functor「コンストラクター クラス」を紹介する Jones の論文の最初の動機付けの例です。ジョーンズの論文がこのアイデアを普及させたと言うかもしれませんが、あなたが指摘するように、人々は長い間一般化されたマップを望んでいました.

于 2013-06-02T07:27:00.907 に答える