type Row a = [a] type Picture a = [Row a] class (Eq a, Enum a) => Pixel a where toString :: a -> String -- Umwandlung des Bildelementes für die (zeichenorientierte) Bildschirmausgabe whitePixel :: a -- ein weißer Pixel in der Repräsentation des jeweiligen Datentyps, dient der Erzeugung weißer Flächen (z.B. padout) invertPixel :: a -> a -- Invertieren eines Bildelementes superimposePixel :: a -> a -> a -- Addieren zweier Bildelemente ...