Simon Peyton-Jones は、「Classes, Jim, but not as we know them」という講演で、型に対する正しい関数を備えた辞書である追加のパラメーターを取る多相関数を持たせることによって、GHC で型クラスを実装する方法について語っています。関数に与えられます。
彼はその後、GHC は関数を特別なケースに入れることで関数を最適化することが多く、実際には実行時にこの辞書を渡さないと述べました。そして、Haskell にはポリモーフィックな再帰があるため、これが常に可能であるとは限らないため、プログラム全体ができたとしても、すべてのポリモーフィズムを排除できるとは限らないと述べました。
これはどういう意味ですか?コンパイル時に多相関数が渡される型がわからないプログラムの例は何ですか?