2012-03-07 8 views
41

スライド30/78 thisプレゼンテーションでは、タイプクラスの実装が最初は「絶望」であったことをSimonは示唆しています。それが誰に気付いたのですか?なぜ型クラスを実装するのが難しいのですか?

+1

ハスケル伝承の専門家ではありませんが、これまでに行われたことがなかった可能性があります。 –

+1

これは確かですが、常にそうです:)しかし、型クラスの場合、何が問題を引き起こしましたか? –

+0

@ŁukaszLew - いいえ、私が理解する限り、これはWadlerとBlottの全く新しいアイデアでした。たとえば、他のソリューションには対応できませんでした。 – Ingo

答えて

77

私は先行技術がないときにhbcで実装して以来、なぜ難しいのかの最初の手の経験がある少数の人々だと思います。

Wadler & Blott紙から明らかなことは、タイプチェックがHindley-Milnerタイプチェックの延長であり、実行時に辞書を渡すべきだったということでした。それから実際の実装まではかなり大きなステップです。困難を理解する良い方法は、Wadler-Blott紙だけから実際に実装することです。

まず、タイプのチェックだけでなくプログラムの変換も行うタイプチェッカーの考え方を思いつく必要があります。型検査中に証拠(辞書)を挿入する。また、インスタンス宣言を推論システムとして使用して古い辞書から新しい辞書を構築する方法を理解する必要があります。

遡ってみると分かりやすいかもしれませんが、その時以来、説明付きの多くの論文が書かれています。紙から何かをする方法を理解することは、最初にそれを思いつくこととはまったく異なっています。

さらに、タイプクラスを合理的に効率的にすることで、独自の問題が発生しやすくなります。

+7

あなたがどこかに投稿したい(または持っている)場合は、この物語のより長いバージョンが大好きです。 –

+4

@ JohnF.Millerさて、20年以上前のことです。詳細はもはや私の記憶の中ではっきりしません。 – augustss

+6

詳細をご覧ください。あなたが言及した論文を指すこともできますか? –

関連する問題