Language.Haskell.HLint

hlint-1.9.31: Source code suggestions

Safe Haskell | None
Language | Haskell98

Language.Haskell.HLint

Description

WARNING: This module represents the old version of the HLint API. It will be deleted in favour of Language.Haskell.HLint3 in the next major version.

This module provides a library interface to HLint, strongly modelled on the command line interface.

Synopsis

- hlint :: [String] -> IO [Suggestion]
- data Suggestion
- suggestionLocation :: Suggestion -> SrcLoc
- suggestionSeverity :: Suggestion -> Severity
- data Severity
  - = Ignore
  - | Suggestion
  - | Warning
  - | Error

# Documentation

hlint :: [String] -> IO [Suggestion]

This function takes a list of command line arguments, and returns the given suggestions. To see a list of arguments type `hlint --help` at the console. This function writes to the stdout/stderr streams, unless `--quiet` is specified.

As an example:

    do hints <- hlint ["src", "--ignore=Use map","--quiet"]
       when (length hints > 3) $ error "Too many hints!"

data Suggestion

A suggestion - the `Show` instance is of particular use.

Instances

Eq Suggestion |
Ord Suggestion |
Show Suggestion |

suggestionLocation :: Suggestion -> SrcLoc

From a suggestion, extract the file location it refers to.

suggestionSeverity :: Suggestion -> Severity

From a suggestion, determine how severe it is.

data Severity

How severe an issue is.

Constructors

Ignore | The issue has been explicitly ignored and will usually be hidden (pass `--show` on the command line to see ignored ideas).
Suggestion | Suggestions are things that some people may consider improvements, but some may not.
Warning | Warnings are suggestions that are nearly always a good idea to apply.
Error | Available as a setting for the user.

Instances

Bounded Severity |
Enum Severity |
Eq Severity |
Ord Severity |
Read Severity |
Show Severity |