purescript-0.15.7: PureScript Programming Language Compiler
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.PureScript.Linter.Imports

Synopsis

Documentation

lintImports :: forall m. MonadWriter MultipleErrors m => Module -> Env -> UsedImports -> m () Source #

Find and warn on:

  • Unused import statements (qualified or unqualified)
  • Unused references in an explicit import list
  • Implicit imports of modules
  • Implicit imports into a virtual module (unless the virtual module only has members from one module imported)
  • Imports using hiding (this is another form of implicit importing)

data Name Source #

A sum of the possible name types, useful for error and lint messages.

Instances

Instances details
Generic Name Source # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep Name :: Type -> Type #

Methods

from :: Name -> Rep Name x #

to :: Rep Name x -> Name #

Show Name Source # 
Instance details

Defined in Language.PureScript.Names

Methods

showsPrec :: Int -> Name -> ShowS #

show :: Name -> String #

showList :: [Name] -> ShowS #

NFData Name Source # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: Name -> () #

Eq Name Source # 
Instance details

Defined in Language.PureScript.Names

Methods

(==) :: Name -> Name -> Bool #

(/=) :: Name -> Name -> Bool #

Ord Name Source # 
Instance details

Defined in Language.PureScript.Names

Methods

compare :: Name -> Name -> Ordering #

(<) :: Name -> Name -> Bool #

(<=) :: Name -> Name -> Bool #

(>) :: Name -> Name -> Bool #

(>=) :: Name -> Name -> Bool #

max :: Name -> Name -> Name #

min :: Name -> Name -> Name #

Serialise Name Source # 
Instance details

Defined in Language.PureScript.Names

type Rep Name Source # 
Instance details

Defined in Language.PureScript.Names

type UsedImports = Map ModuleName [Qualified Name] Source #

Map of module name to list of imported names from that module which have been used.