- 集合論に基づいた言語を作りたい
297 :240[sage]:2014/09/20(土) 07:19:58.23 ID:p45kbQiW - >>295
型クラスは値ではなくて型のクラスってところがユニーク。 Haskellの型クラスはJava等のインターフェースより柔軟に使える。 Java等のインターフェースとクラスの関係は、 クラスを定義する時に「このインターフェースを実装します」と宣言するけど、 Haskellの型クラスでは、型クラスと型をそれぞれ別々に定義した上で、 「この型はこの型クラスのインスタンスだよ」と宣言する。 つまり、既存の型や既存の型クラスを使って、後から 「この型をこの型クラスのインスタンスとして使うよ」ということができる。 実は、286のコードでも型クラスのメソッドが多数使われている。 Ord型クラスのメソッドの>とか<とか、Eq型クラスのメソッドの==とか。 あと、game関数やmain関数の型を見ると、IO型クラスを使っていることがわかる。
|
|