2012-05-08 4 views
18

をやり直し、カテゴリー理論からインポートされたクラスの現在のスタックは、歴史のもつれ事故ではなく、美しいコヒーレント全体のビットです。は標準クラスTypeclassopediaから明らかなよう

特に、これにより、起こっていることに従うのがむしろ困難になります。

何かこのようなものは、下位互換性、コードの重複、または短い形式の署名のような軽微な問題が問題にならなかったかどうか?

+1

クラスはカテゴリ理論からインポートされませんでした。 –

+0

@DonStewart:おそらく私は不明だった。私はタイプ・クラスの考え方がカテゴリ理論から来ていると主張していない。私はカテゴリ理論 - Functor、Applicative、Monadなどに基づいたHaskell型クラスを指しています。 – MathematicalOrchid

+0

OK。私は、数値クラスを分類しようとする試みを区別するために答えを改訂しました。カテゴリ - 理論的クラスとを含む。 –

答えて

28

標準クラスのいくつかのサブセットでは、改訂された階層を与える試みがありました。

数値型クラス

特に、より豊富な数学的抽象セットを提供します。この他

、多くの他の代替の設計があります

enter image description here

合式型クラス

との前奏曲は、ファンクタ、モナド、モノイド、のApplicativeそしてもちろん、カテゴリーとしてthe category-inspired classesの少ない仕事、が行われています。

最も重要な仕事は、有名なzygohistoprepromorphism含め、確かに非常に豊富なライブラリを提供し

  • category-extrasパッケージです。 "カテゴリ" のクラスについて

enter image description here

+0

+1とたくさんの興味深い参照があります。 – MathematicalOrchid

+1

上記のいずれかがMonad/Functorの逆転に対処していますか? –

+0

私はそのグラフを見て、私の脳は爆発しました。 o_Oしかし、それはカテゴリ理論ですよね?私はそのために_ask_しました... ;-) – MathematicalOrchid

10

The Other Preludeもあります。 そこに概説されているクラス階層はFregeに実装されています。

+0

一日の投票の邪魔をした。それにもかかわらず、これはおそらく私が一日中読んだことの中で最高のものです。 The Other Preludeは主要なクラスを簡潔かつ簡潔な方法で説明するだけでなく、今日までFregeのことを聞いたことはありませんでした。 :-D – MathematicalOrchid

+0

投票のため心配しないで、@ MathematicalOrchid ...ドンは彼の答えにもっと力を入れ、彼が最初だった。素晴らしいグラフィックが追加されました。 – Ingo

+0

フレージはとても刺激的です。どのように善良な人の名前でそれを実際に発音するのですか? o_O – MathematicalOrchid