M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

型クラスとそのインスタンス

不思議なタイトルの本…。本文中に挿入されるイラストは結構な割合で得体の知れない何かでしかない。変なところで個性的。

そして「これは重要です」というのが、ほんとにとっても重要な点だと思う。(Javaなどから移ってきた人にとっては。)

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

型クラス初級講座

型クラスは、何らかの振る舞いを定義するインターフェースです。ある型クラスのインスタンスである型は、その型クラスが記述する振る舞いを実装します。

もっと具体的に言うと、型クラスというのは関数の集まりを定めます。ある型クラスに属する関数のことを、その型クラスのメソッドと呼ぶこともあります。ある型を型クラスのインスタンスにしようと考えたときには、それらの関数がその型ではどういう意味を成すのかを定義します。

等値性を定義する型クラスが良い例です。多くの型について、その値の等値性を==演算子を使って比較できます。〔…〕

型クラスはオブジェクト指向のクラスとは同じではないということに注意してください。これは重要です。

あるデータ型がある型クラスのインスタンスであれば、型クラスに宣言されている関数(メソッド)をそのデータ型に対して適用可能である、という意味ではクラスベースのオブジェクト指向言語におけるインターフェースもしくは抽象クラスに近い。