-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Source code suggestions
--   
--   HLint gives suggestions on how to improve your source code.
@package hlint
@version 1.8.53


-- | This module provides a library interface to HLint. The current
--   interface is strongly modelled on the command line interface, and is
--   expected to evolve.
module Language.Haskell.HLint

-- | This function takes a list of command line arguments, and returns the
--   given suggestions. To see a list of arguments type <tt>hlint
--   --help</tt> at the console. This function writes to the stdout/stderr
--   streams, unless <tt>--quiet</tt> is specified.
--   
--   As an example:
--   
--   <pre>
--   do hints &lt;- hlint ["src", "--ignore=Use map","--quiet"]
--      when (length hints &gt; 3) $ error "Too many hints!"
--   </pre>
hlint :: [String] -> IO [Suggestion]

-- | A suggestion - the <tt>Show</tt> instance is of particular use.
data Suggestion

-- | From a suggestion, extract the file location it refers to.
suggestionLocation :: Suggestion -> SrcLoc

-- | From a suggestion, determine how severe it is.
suggestionSeverity :: Suggestion -> Severity

-- | How severe an error is.
data Severity

-- | Ignored errors are only returned when <tt>--show</tt> is passed.
Ignore :: Severity

-- | Warnings are things that some people may consider improvements, but
--   some may not.
Warning :: Severity

-- | Errors are suggestions that should nearly always be a good idea to
--   apply.
Error :: Severity
