|
|
## hlint |
|
|
\ No newline at end of file |
|
|
## hlint
|
|
|
**hlint** ist eine LINT-Implementierung für Haskell. Hierbei wird allerdings nicht auf das [LINT Basisformat](lint basisformat) verwendet, sondern eine leicht abgewandelte Form.
|
|
|
Alle Teile des Ausgabestrings werden bei **hlint** durch **:** anstelle von **,** getrennt.
|
|
|
Ebenfalls wird die im [LINT Basisformat](lint basisformat) noch optionale Zeichennummer immer ausgegeben.
|
|
|
|
|
|
## Nachrichtenklassen
|
|
|
**hlint** implementiert nicht alle Nachrichtenklassen des [LINT Basisformat](lint basisformat). Es werden lediglich Error, Suggestion und Warning verwendet.
|
|
|
|
|
|
* Error: Beschreibt Perserfehler
|
|
|
* Suggestion: Gibt Tipps mit denen die Les-, Wart- und Verwendbarkeit der Haskellprogramme verbessert werden kann.
|
|
|
* Warning: Liefert Warnungen bei Performanceproblemen oder etwaig möglichen Zusammenfassungen zur Vermeidung von Zwischenstrukturen.
|
|
|
|
|
|
## Beispiele
|
|
|
|
|
|
**Fehler bei Parsingfehler**
|
|
|
|
|
|
Im folgenden Programm befindet sich ein Tippfehler in der Typsignatur.
|
|
|
|
|
|
```{.haskell}
|
|
|
test :: [[a]] ->
|
|
|
test s = concat $ map id s
|
|
|
```
|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|
 |
|
|
\ No newline at end of file |