Manchmal stoße ich auf das "Feature", dass Haskell nur Instanzköpfe vergleicht, nämlich
%Vor% wird jetzt mit jedem Typ übereinstimmen, dh das Schreiben einer anderen Instanzdeklaration von C
in Ihrem Programm wird ein Fehler sein, auch wenn möglicherweise nicht in Konflikt mit dem / stehen kann Kontext a ~ NewDataTyp b
. Manchmal ist es sehr mühsam zu überwinden; Ich musste Hunderte von Zeilen Code umstrukturieren, um diese Einschränkung zu vermeiden.
Gibt es Spracherweiterungen oder Nachkommensprachen (Curry? Agda?), die eine höhere Priorität für die Ausdruckskraft haben? Dies könnte möglicherweise opfern (a) Offenheit der Typenklassen-Welt (b) polynomielle Zeittypprüfung.
bearbeiten - Für Interessierte ist diese Seite möglicherweise auch interessant: Ссылка
Tags und Links haskell typeclass overlapping-instances