Name:                   haskell-names
Version:                0.9.0
License:                BSD3
Author:                 Philipp Schuster, Roman Cheplyaka, Lennart Augustsson
Maintainer:             Philipp Schuster
Category:               Language
Synopsis:               Name resolution library for Haskell
Description:
  This package takes modules parsed with `haskell-src-exts`, resolves used names and annotates the parsed module with scoping information.
Homepage:               http://documentup.com/haskell-suite/haskell-names
Stability:              Experimental
Build-Type:             Simple
Cabal-Version:          >= 1.10
Tested-With:            GHC == 8.0.1, GHC == 8.2.1

extra-source-files:
  README.md
  CHANGELOG.md
  tests/annotations/*.hs.golden
  tests/annotations/*.hs
  tests/imports/*.hs.golden
  tests/imports/*.hs
  tests/exports/*.hs.golden
  tests/exports/*.hs
  tests/environment/Prelude.symbols.golden
data-files:
  data/baseEnvironment/Control.Applicative.symbols
  data/baseEnvironment/Control.Arrow.symbols
  data/baseEnvironment/Control.Category.symbols
  data/baseEnvironment/Control.Concurrent.Chan.symbols
  data/baseEnvironment/Control.Concurrent.MVar.symbols
  data/baseEnvironment/Control.Concurrent.QSem.symbols
  data/baseEnvironment/Control.Concurrent.QSemN.symbols
  data/baseEnvironment/Control.Concurrent.symbols
  data/baseEnvironment/Control.Exception.Base.symbols
  data/baseEnvironment/Control.Exception.symbols
  data/baseEnvironment/Control.Monad.Fix.symbols
  data/baseEnvironment/Control.Monad.Instances.symbols
  data/baseEnvironment/Control.Monad.ST.Imp.symbols
  data/baseEnvironment/Control.Monad.ST.Lazy.Imp.symbols
  data/baseEnvironment/Control.Monad.ST.Lazy.Safe.symbols
  data/baseEnvironment/Control.Monad.ST.Lazy.Unsafe.symbols
  data/baseEnvironment/Control.Monad.ST.Lazy.symbols
  data/baseEnvironment/Control.Monad.ST.Safe.symbols
  data/baseEnvironment/Control.Monad.ST.Strict.symbols
  data/baseEnvironment/Control.Monad.ST.Unsafe.symbols
  data/baseEnvironment/Control.Monad.ST.symbols
  data/baseEnvironment/Control.Monad.Zip.symbols
  data/baseEnvironment/Control.Monad.symbols
  data/baseEnvironment/Data.Bits.symbols
  data/baseEnvironment/Data.Bool.symbols
  data/baseEnvironment/Data.Char.symbols
  data/baseEnvironment/Data.Complex.symbols
  data/baseEnvironment/Data.Data.symbols
  data/baseEnvironment/Data.Dynamic.symbols
  data/baseEnvironment/Data.Either.symbols
  data/baseEnvironment/Data.Eq.symbols
  data/baseEnvironment/Data.Fixed.symbols
  data/baseEnvironment/Data.Foldable.symbols
  data/baseEnvironment/Data.Function.symbols
  data/baseEnvironment/Data.Functor.symbols
  data/baseEnvironment/Data.IORef.symbols
  data/baseEnvironment/Data.Int.symbols
  data/baseEnvironment/Data.Ix.symbols
  data/baseEnvironment/Data.List.symbols
  data/baseEnvironment/Data.Maybe.symbols
  data/baseEnvironment/Data.Monoid.symbols
  data/baseEnvironment/Data.OldTypeable.Internal.symbols
  data/baseEnvironment/Data.OldTypeable.symbols
  data/baseEnvironment/Data.Ord.symbols
  data/baseEnvironment/Data.Ratio.symbols
  data/baseEnvironment/Data.STRef.Lazy.symbols
  data/baseEnvironment/Data.STRef.Strict.symbols
  data/baseEnvironment/Data.STRef.symbols
  data/baseEnvironment/Data.String.symbols
  data/baseEnvironment/Data.Traversable.symbols
  data/baseEnvironment/Data.Tuple.symbols
  data/baseEnvironment/Data.Typeable.Internal.symbols
  data/baseEnvironment/Data.Typeable.symbols
  data/baseEnvironment/Data.Unique.symbols
  data/baseEnvironment/Data.Version.symbols
  data/baseEnvironment/Data.Word.symbols
  data/baseEnvironment/Debug.Trace.symbols
  data/baseEnvironment/Foreign.C.Error.symbols
  data/baseEnvironment/Foreign.C.String.symbols
  data/baseEnvironment/Foreign.C.Types.symbols
  data/baseEnvironment/Foreign.C.symbols
  data/baseEnvironment/Foreign.Concurrent.symbols
  data/baseEnvironment/Foreign.ForeignPtr.Imp.symbols
  data/baseEnvironment/Foreign.ForeignPtr.Safe.symbols
  data/baseEnvironment/Foreign.ForeignPtr.Unsafe.symbols
  data/baseEnvironment/Foreign.ForeignPtr.symbols
  data/baseEnvironment/Foreign.Marshal.Alloc.symbols
  data/baseEnvironment/Foreign.Marshal.Array.symbols
  data/baseEnvironment/Foreign.Marshal.Error.symbols
  data/baseEnvironment/Foreign.Marshal.Pool.symbols
  data/baseEnvironment/Foreign.Marshal.Safe.symbols
  data/baseEnvironment/Foreign.Marshal.Unsafe.symbols
  data/baseEnvironment/Foreign.Marshal.Utils.symbols
  data/baseEnvironment/Foreign.Marshal.symbols
  data/baseEnvironment/Foreign.Ptr.symbols
  data/baseEnvironment/Foreign.Safe.symbols
  data/baseEnvironment/Foreign.StablePtr.symbols
  data/baseEnvironment/Foreign.Storable.symbols
  data/baseEnvironment/Foreign.symbols
  data/baseEnvironment/GHC.Arr.symbols
  data/baseEnvironment/GHC.Base.symbols
  data/baseEnvironment/GHC.CString.symbols
  data/baseEnvironment/GHC.Char.symbols
  data/baseEnvironment/GHC.Classes.symbols
  data/baseEnvironment/GHC.Conc.IO.symbols
  data/baseEnvironment/GHC.Conc.Signal.symbols
  data/baseEnvironment/GHC.Conc.Sync.symbols
  data/baseEnvironment/GHC.Conc.symbols
  data/baseEnvironment/GHC.ConsoleHandler.symbols
  data/baseEnvironment/GHC.Constants.symbols
  data/baseEnvironment/GHC.Debug.symbols
  data/baseEnvironment/GHC.Desugar.symbols
  data/baseEnvironment/GHC.Enum.symbols
  data/baseEnvironment/GHC.Environment.symbols
  data/baseEnvironment/GHC.Err.symbols
  data/baseEnvironment/GHC.Event.Array.symbols
  data/baseEnvironment/GHC.Event.Clock.symbols
  data/baseEnvironment/GHC.Event.Control.symbols
  data/baseEnvironment/GHC.Event.EPoll.symbols
  data/baseEnvironment/GHC.Event.IntMap.symbols
  data/baseEnvironment/GHC.Event.Internal.symbols
  data/baseEnvironment/GHC.Event.KQueue.symbols
  data/baseEnvironment/GHC.Event.Manager.symbols
  data/baseEnvironment/GHC.Event.PSQ.symbols
  data/baseEnvironment/GHC.Event.Poll.symbols
  data/baseEnvironment/GHC.Event.Thread.symbols
  data/baseEnvironment/GHC.Event.TimerManager.symbols
  data/baseEnvironment/GHC.Event.Unique.symbols
  data/baseEnvironment/GHC.Event.symbols
  data/baseEnvironment/GHC.Exception.symbols
  data/baseEnvironment/GHC.Exts.symbols
  data/baseEnvironment/GHC.Fingerprint.Type.symbols
  data/baseEnvironment/GHC.Fingerprint.symbols
  data/baseEnvironment/GHC.Float.ConversionUtils.symbols
  data/baseEnvironment/GHC.Float.RealFracMethods.symbols
  data/baseEnvironment/GHC.Float.symbols
  data/baseEnvironment/GHC.Foreign.symbols
  data/baseEnvironment/GHC.ForeignPtr.symbols
  data/baseEnvironment/GHC.GHCi.symbols
  data/baseEnvironment/GHC.Generics.symbols
  data/baseEnvironment/GHC.IO.Buffer.symbols
  data/baseEnvironment/GHC.IO.BufferedIO.symbols
  data/baseEnvironment/GHC.IO.Device.symbols
  data/baseEnvironment/GHC.IO.Encoding.CodePage.symbols
  data/baseEnvironment/GHC.IO.Encoding.Failure.symbols
  data/baseEnvironment/GHC.IO.Encoding.Iconv.symbols
  data/baseEnvironment/GHC.IO.Encoding.Latin1.symbols
  data/baseEnvironment/GHC.IO.Encoding.Types.symbols
  data/baseEnvironment/GHC.IO.Encoding.UTF16.symbols
  data/baseEnvironment/GHC.IO.Encoding.UTF32.symbols
  data/baseEnvironment/GHC.IO.Encoding.UTF8.symbols
  data/baseEnvironment/GHC.IO.Encoding.symbols
  data/baseEnvironment/GHC.IO.Exception.symbols
  data/baseEnvironment/GHC.IO.FD.symbols
  data/baseEnvironment/GHC.IO.Handle.FD.symbols
  data/baseEnvironment/GHC.IO.Handle.Internals.symbols
  data/baseEnvironment/GHC.IO.Handle.Text.symbols
  data/baseEnvironment/GHC.IO.Handle.Types.symbols
  data/baseEnvironment/GHC.IO.Handle.symbols
  data/baseEnvironment/GHC.IO.IOMode.symbols
  data/baseEnvironment/GHC.IO.symbols
  data/baseEnvironment/GHC.IOArray.symbols
  data/baseEnvironment/GHC.IORef.symbols
  data/baseEnvironment/GHC.IP.symbols
  data/baseEnvironment/GHC.Int.symbols
  data/baseEnvironment/GHC.IntWord64.symbols
  data/baseEnvironment/GHC.Integer.Logarithms.Internals.symbols
  data/baseEnvironment/GHC.Integer.Logarithms.symbols
  data/baseEnvironment/GHC.Integer.Simple.Internals.symbols
  data/baseEnvironment/GHC.Integer.Type.symbols
  data/baseEnvironment/GHC.Integer.symbols
  data/baseEnvironment/GHC.List.symbols
  data/baseEnvironment/GHC.MVar.symbols
  data/baseEnvironment/GHC.Magic.symbols
  data/baseEnvironment/GHC.Num.symbols
  data/baseEnvironment/GHC.PArr.symbols
  data/baseEnvironment/GHC.Pack.symbols
  data/baseEnvironment/GHC.Prim.symbols
  data/baseEnvironment/GHC.PrimopWrappers.symbols
  data/baseEnvironment/GHC.Profiling.symbols
  data/baseEnvironment/GHC.Ptr.symbols
  data/baseEnvironment/GHC.Read.symbols
  data/baseEnvironment/GHC.Real.symbols
  data/baseEnvironment/GHC.ST.symbols
  data/baseEnvironment/GHC.STRef.symbols
  data/baseEnvironment/GHC.Show.symbols
  data/baseEnvironment/GHC.Stable.symbols
  data/baseEnvironment/GHC.Stack.symbols
  data/baseEnvironment/GHC.Stats.symbols
  data/baseEnvironment/GHC.Storable.symbols
  data/baseEnvironment/GHC.TopHandler.symbols
  data/baseEnvironment/GHC.Tuple.symbols
  data/baseEnvironment/GHC.TypeLits.symbols
  data/baseEnvironment/GHC.Types.symbols
  data/baseEnvironment/GHC.Unicode.symbols
  data/baseEnvironment/GHC.Weak.symbols
  data/baseEnvironment/GHC.Word.symbols
  data/baseEnvironment/Numeric.symbols
  data/baseEnvironment/Prelude.symbols
  data/baseEnvironment/System.CPUTime.symbols
  data/baseEnvironment/System.Console.GetOpt.symbols
  data/baseEnvironment/System.Environment.ExecutablePath.symbols
  data/baseEnvironment/System.Environment.symbols
  data/baseEnvironment/System.Exit.symbols
  data/baseEnvironment/System.IO.Error.symbols
  data/baseEnvironment/System.IO.Unsafe.symbols
  data/baseEnvironment/System.IO.symbols
  data/baseEnvironment/System.Info.symbols
  data/baseEnvironment/System.Mem.StableName.symbols
  data/baseEnvironment/System.Mem.Weak.symbols
  data/baseEnvironment/System.Mem.symbols
  data/baseEnvironment/System.Posix.Internals.symbols
  data/baseEnvironment/System.Posix.Types.symbols
  data/baseEnvironment/System.Timeout.symbols
  data/baseEnvironment/Text.ParserCombinators.ReadP.symbols
  data/baseEnvironment/Text.ParserCombinators.ReadPrec.symbols
  data/baseEnvironment/Text.Printf.symbols
  data/baseEnvironment/Text.Read.Lex.symbols
  data/baseEnvironment/Text.Read.symbols
  data/baseEnvironment/Text.Show.Functions.symbols
  data/baseEnvironment/Text.Show.symbols
  data/baseEnvironment/Unsafe.Coerce.symbols


source-repository head
  type:     git
  location: git://github.com/haskell-suite/haskell-names.git

Library
  Default-Language: Haskell2010
  Build-depends:
      base >= 4 && < 5
    , haskell-src-exts >= 1.18 && < 1.20
    , mtl >= 2.2.1 && < 2.3
    , transformers >=0.4.2.0 && < 0.6
    , filepath >= 1.1 && < 1.5
    , containers >= 0.2 && < 0.6
    , uniplate >= 1.5.1 && < 1.7
    , aeson >= 0.8.0.2 && < 1.3
    , bytestring >= 0.10.4.0 && < 0.11
    , data-lens-light >= 0.1.2.1 && < 0.2
    , traverse-with-class >= 1.0.0.0 && < 1.1
  if impl(ghc <= 7.8)
    Build-depends: tagged >= 0.8.4 && < 0.9
  Hs-source-dirs:       src
  Ghc-options:          -Wall -fno-warn-name-shadowing

  Exposed-modules:      Language.Haskell.Names
                        Language.Haskell.Names.Open
                        Language.Haskell.Names.Annotated
                        Language.Haskell.Names.Environment
                        Language.Haskell.Names.GlobalSymbolTable
                        Language.Haskell.Names.LocalSymbolTable
                        Language.Haskell.Names.Imports
                        Language.Haskell.Names.Exports
                        Language.Haskell.Names.ModuleSymbols
                        Language.Haskell.Names.SyntaxUtils
                        Language.Haskell.Names.GetBound

  Other-modules:
                        Language.Haskell.Names.Open.Base
                        Language.Haskell.Names.Open.Instances
                        Language.Haskell.Names.Open.Derived
                        Language.Haskell.Names.Recursive
                        Language.Haskell.Names.Types
                        Language.Haskell.Names.RecordWildcards
                        Language.Haskell.Names.ScopeUtils
                        Paths_haskell_names

Test-suite test
  Default-Language: Haskell2010
  type:       exitcode-stdio-1.0
  Hs-source-dirs:
    tests
  Main-is:
    run.hs
  Build-depends:
      base >= 4 && < 5
    , haskell-names
    , haskell-src-exts >= 1.18 && < 1.20
    , mtl >= 2.2.1 && < 2.3
    , filepath >= 1.1 && <1.5
    , containers >= 0.2 && < 0.6
    , tasty >= 0.10.1.2 && < 0.12
    , tasty-golden >= 2.2.1 && < 2.4
    , filemanip >= 0.3.6.3 && < 0.4
    , pretty-show >= 1.6.1 && < 1.7
    , traverse-with-class >= 1.0.0.0 && < 1.1