Wegen String = [Char] gilt bisher
show 'f' = "'f'" show "foo" = "['f','o','o']"Erwünscht ist aber:
instance Show String where
show cs = "\"" ++ cs ++ "\""
show "foo" = "\"foo\""
Diese Instanz-Deklaration überlappt mit generischer.
Für Show [Char] gibt es dann zwei Wörterbücher--
das ist grundsätzlich verboten:
in Standard Haskell dürfen generische Instanzen keine Typvariablen instanziieren.