Aussagekräftigere Typfehlermeldung
Beim Lösen einer Übungsaufgabe habe ich gerade einen Fehler gemacht und vergessen parseBase
das Argument c
zu übergeben
parseRNA :: [Char] -> Maybe [Base]
parseRNA "" = result []
parseRNA (c:cs) = parseBase >>- \b -> parseRNA cs >>- \bs -> result (b:bs)
Ich musste dann tatsächlich eine Weile suchen, weil ich nur die wenig hilfreiche Fehlermeldung The given type expression is not a function type expression!
bekam.
Dieser Fehler kommt ja vermutlich direkt aus der Typinferenz.
Kann man mit den vorhandenen Informationen irgendwie eine bessere Fehlermeldung produzieren.
Zumindest würde ich ja gerne wissen, welche Funktion bzw. welcher Teilausdruck betroffen ist.
Anbei das gesamte Programm: A4.hs