Ruby であるクラスのオブジェクトを比較可能にするには、クラスに Comparable モジュールをインクルードする。Python なら __cmp__ メソッドをクラスに実装。 同じように Haskell でも代数的データ型を比較できるようにするには、Ord クラスのインスタンスにする。 比較できるように 代数的データ型の定義 例えば、「人」が「名前」「年齢」を持つことを代数的データ型で表現すると、 data Person = Person { name :: String , age :: Int } deriving Show Ord クラスのインスタンスにする Data.Ord によると、 Minimal complete definition: either compare or <=. Using compare can be more efficient for compl