Typen und Typklassen

In Haskell sind diese drei Dinge unabhängig

  1. Deklaration einer Typklasse (= Deklaration von abstrakten Methoden) class C where { m :: ... }
  2. Deklaration eines Typs (= Sammlung von Konstruktoren und konkreten Methoden) data T = ...
  3. Instanz-Deklaration (= Implementierung der abstrakten Methoden) instance C T where { m = ... }
In Java sind 2 und 3 nur gemeinsam möglich class T implements C { ... }



Johannes Waldmann 2011-01-18