Name:                liquidhaskell
Version:             0.8.2.0
Copyright:           2010-17 Ranjit Jhala & Niki Vazou, University of California, San Diego.
build-type:          Simple
Synopsis:            Liquid Types for Haskell
Description:         Liquid Types for Haskell.
Homepage:            https://github.com/ucsd-progsys/liquidhaskell
License:             BSD3
License-file:        LICENSE
Author:              Ranjit Jhala, Niki Vazou, Eric Seidel
Maintainer:          Ranjit Jhala <jhala@cs.ucsd.edu>
Category:            Language
Build-Type:          Simple
Cabal-version:       >=1.18



data-files: include/*.hquals
          , include/*.hs
          , include/*.spec
          , include/CoreToLogic.lg
          , include/Control/*.spec
          , include/Control/Parallel/*.spec
          , include/Data/*.hquals
          , include/Data/*.spec
          , include/Data/Text/*.spec
          , include/Data/Text/Fusion/*.spec
          , include/Data/Text/Lazy/*.spec
          , include/Data/ByteString/*.spec
          , include/Foreign/*.spec
          , include/Foreign/C/*.spec
          , include/Foreign/Marshal/*.spec
          , include/GHC/*.hquals
          , include/GHC/*.spec
          , include/GHC/IO/*.spec
          , include/Language/Haskell/Liquid/*.hs
          , include/Language/Haskell/Liquid/*.pred
          , include/System/*.spec
          , include/710/Data/*.spec
          , syntax/liquid.css

extra-source-files: CHANGES.md
                  , README.md
                  , tests/pos/*.hs
                  , tests/neg/*.hs
                  , tests/import/lib/*.hs
                  , tests/import/client/*.hs
                  , tests/errors/*.hs
                  , tests/pos/*.hquals
                  , tests/ffi-include/foo.c
                  , tests/ffi-include/foo.h

Source-Repository head
  Type:        git
  Location:    https://github.com/ucsd-progsys/liquidhaskell/

Flag devel
  Description: turn on stricter error reporting for development
  Default:     False
  Manual:      True

Flag include
  Description: use in-tree include directory
  Default:     False

Executable liquid
  default-language: Haskell98
  Build-Depends: base >=4.8.1.0 && <5
               , ghc
               , ghc-boot
               , cmdargs
               , time
               , deepseq
               , pretty
               , process
               , liquid-fixpoint >= 0.7.0.5
               , located-base
               , liquidhaskell
               , hpc >= 0.6

  Main-is: src/Liquid.hs
  ghc-options: -W -threaded -fdefer-typed-holes
  if flag(devel)
    ghc-options: -Werror
  Default-Extensions: PatternGuards

executable target
  default-language: Haskell2010
  main-is:        src/Target.hs
  build-depends:  base >=4.8.1.0 && <5,
                  hint,
                  liquidhaskell

Library
   Default-Language: Haskell98
   Build-Depends: base >=4.8.1.0 && <5
                , ghc == 8.2.1
                , ghc-boot == 8.2.1
                , template-haskell >= 2.9
                , time >= 1.4
                , array >= 0.5
                , hpc >= 0.6
                , cmdargs >= 0.10
                , time
                , containers >= 0.5
                , data-default >= 0.5
                , deepseq >= 1.3
                , directory >= 1.2
                , Diff >= 0.3
                , filepath >= 1.3
                , ghc-paths >= 0.1
                , hscolour >= 1.22
                , mtl >= 2.1
                , parsec >= 3.1
                , pretty >= 1.1
                , process >= 1.2
                , syb >= 0.4.4
                , text >= 1.2
                , vector >= 0.10
                , hashable >= 1.2
                , unordered-containers >= 0.2
                , liquid-fixpoint >= 0.7.0.5
                , located-base
                , aeson >= 1.2 && < 1.3
                , bytestring >= 0.10
                , fingertree >= 0.1
                , Cabal >= 1.18
                , bifunctors >= 5.1
                , cereal
                , binary
                , temporary >= 1.2
                , transformers >= 0.3
                , text-format
                , th-lift
                , exceptions >= 0.6
                , QuickCheck >= 2.7
                , ghc-prim
                , hpc >= 0.6

   hs-source-dirs:  src, include
   Exposed-Modules: LiquidHaskell,
                    Language.Haskell.Liquid.Prelude,
                    Language.Haskell.Liquid.ProofCombinators,
                    Language.Haskell.Liquid.Foreign,
                    Language.Haskell.Liquid.List,
                    Language.Haskell.Liquid.Bare,
                    Language.Haskell.Liquid.Constraint.Constraint,
                    Language.Haskell.Liquid.Constraint.Init,
                    Language.Haskell.Liquid.Constraint.Monad,
                    Language.Haskell.Liquid.Constraint.Env,
                    Language.Haskell.Liquid.Constraint.Types,
                    Language.Haskell.Liquid.Constraint.Split,
                    -- Language.Haskell.Liquid.Constraint.Axioms,
                    -- Language.Haskell.Liquid.Constraint.ProofToCore,
                    Language.Haskell.Liquid.Constraint.Generate,
                    Language.Haskell.Liquid.Constraint.ToFixpoint,
                    Language.Haskell.Liquid.Measure,
                    Language.Haskell.Liquid.Parse,
                    Language.Haskell.Liquid.GHC.Interface,
                    Language.Haskell.Liquid.GHC.SpanStack,
                    Language.Haskell.Liquid.Types.RefType,
                    Language.Haskell.Liquid.Types.Errors,
                    Language.Haskell.Liquid.Types.PrettyPrint,
                    Language.Haskell.Liquid.Types.Specifications,
                    Language.Haskell.Liquid.Types.PredType,
                    Language.Haskell.Liquid.Types.Meet,
                    Language.Haskell.Liquid.UX.ACSS,
                    Language.Haskell.Liquid.UX.DiffCheck,
                    Language.Haskell.Liquid.UX.QuasiQuoter,
                    Language.Haskell.Liquid.Transforms.Rewrite,
                    Language.Haskell.Liquid.Transforms.ANF,
                    Language.Haskell.Liquid.Transforms.RefSplit,
                    Language.Haskell.Liquid.Transforms.CoreToLogic,
                    Language.Haskell.Liquid.Transforms.Rec,
                    Language.Haskell.Liquid.Transforms.Simplify,
                    Language.Haskell.Liquid.UX.Errors,
                    Language.Haskell.Liquid.UX.Annotate,
                    Language.Haskell.Liquid.UX.CTags,
                    Language.Haskell.Liquid.UX.Config,
                    Language.Haskell.Liquid.UX.CmdLine,
                    Language.Haskell.Liquid.GHC.Misc,
                    Language.Haskell.Liquid.GHC.Play,
                    Language.Haskell.Liquid.GHC.TypeRep,
                    Language.Haskell.Liquid.GHC.Resugar,
                    Language.Haskell.Liquid.Misc,
                    Language.Haskell.Liquid.Types.Variance,
                    Language.Haskell.Liquid.Types.Bounds,
                    Language.Haskell.Liquid.Types.Dictionaries,
                    Language.Haskell.Liquid.Constraint.Qualifier,
                    Language.Haskell.Liquid.UX.Tidy,
                    Language.Haskell.Liquid.Types,
                    Language.Haskell.Liquid.Types.Literals,
                    Language.Haskell.Liquid.Types.Strata,
                    Language.Haskell.Liquid.Constraint.Fresh,
                    Language.Haskell.Liquid.Types.Visitors,
                    Language.Haskell.Liquid.WiredIn,
                    Language.Haskell.Liquid.Types.Names,
                    Language.Haskell.Liquid.Liquid,

                    Language.Haskell.Liquid.Desugar.HscMain,

                    -- NOTE: these need to be exposed so GHC generates .dyn_o files for them..
                    Language.Haskell.Liquid.Desugar.Check,
                    Language.Haskell.Liquid.Desugar.Coverage,
                    Language.Haskell.Liquid.Desugar.Desugar,
                    Language.Haskell.Liquid.Desugar.DsArrows,
                    Language.Haskell.Liquid.Desugar.DsBinds,
                    Language.Haskell.Liquid.Desugar.DsCCall,
                    Language.Haskell.Liquid.Desugar.DsExpr,
                    Language.Haskell.Liquid.Desugar.DsForeign,
                    Language.Haskell.Liquid.Desugar.DsGRHSs,
                    Language.Haskell.Liquid.Desugar.DsListComp,
                    Language.Haskell.Liquid.Desugar.DsMeta,
                    Language.Haskell.Liquid.Desugar.DsUtils,
                    Language.Haskell.Liquid.Desugar.Match,
                    Language.Haskell.Liquid.Desugar.MatchCon,
                    Language.Haskell.Liquid.Desugar.MatchLit,
                    Language.Haskell.Liquid.Desugar.DsMonad,
                    Language.Haskell.Liquid.Desugar.StaticPtrTable,
                    Language.Haskell.Liquid.Desugar.TmOracle
                    Paths_liquidhaskell,

                    -- FIXME: These shouldn't really be exposed, but the linker complains otherwise...
                    Language.Haskell.Liquid.Bare.Check,
                    Language.Haskell.Liquid.Bare.DataType,
                    Language.Haskell.Liquid.Bare.Env,
                    Language.Haskell.Liquid.Bare.Expand,
                    Language.Haskell.Liquid.Bare.Existential,
                    Language.Haskell.Liquid.Bare.Lookup,
                    Language.Haskell.Liquid.Bare.Axiom,
                    Language.Haskell.Liquid.Bare.Measure,
                    Language.Haskell.Liquid.Bare.Misc,
                    Language.Haskell.Liquid.Bare.OfType,
                    Language.Haskell.Liquid.Bare.Plugged,
                    Language.Haskell.Liquid.Bare.ToBare,
                    Language.Haskell.Liquid.Bare.Resolve,
                    Language.Haskell.Liquid.Bare.RTEnv,
                    Language.Haskell.Liquid.Bare.SymSort,
                    Language.Haskell.Liquid.Bare.Spec,
                    Language.Haskell.Liquid.Interactive.Types,
                    Language.Haskell.Liquid.Interactive.Handler,
                    Language.Haskell.Liquid.Model,

                    Test.Target,
                    Test.Target.Eval,
                    Test.Target.Expr,
                    Test.Target.Monad,
                    Test.Target.Targetable,
                    Test.Target.Targetable.Function,
                    Test.Target.Testable,
                    Test.Target.Types,
                    Test.Target.Util

   ghc-options: -W -fwarn-missing-signatures
   if flag(include)
     hs-source-dirs: devel
   if flag(devel)
     ghc-options: -Werror
   Default-Extensions: PatternGuards

test-suite test
  default-language: Haskell98
  type:              exitcode-stdio-1.0
  hs-source-dirs:    tests
  ghc-options:       -W -threaded
--  if flag(devel)
--    ghc-options: -Werror
  main-is:           test.hs
  build-depends:     base >=4.8.1.0 && <5
               ,     containers >= 0.5
               ,     directory >= 1.2
               ,     filepath >= 1.3
               ,     mtl >= 2.1
               ,     process >= 1.2
               ,     optparse-applicative >= 0.11
               ,     stm >= 2.4
               ,     tagged >= 0.7.3
               ,     tasty >= 0.10
               ,     tasty-ant-xml
               ,     tasty-hunit >= 0.9
               ,     tasty-rerun >= 1.1
               ,     transformers >= 0.3
               ,     syb
               ,     liquid-fixpoint >= 0.7.0.5
               ,     hpc >= 0.6
               ,     text

test-suite liquidhaskell-parser
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
  ghc-options: -W
  main-is: Parser.hs
  build-depends:
                     base >=4.8.1.0 && <5
               ,     ghc-boot
               ,     containers >= 0.5
               ,     parsec
               ,     tasty >= 0.10
               ,     tasty-ant-xml
               ,     tasty-hunit >= 0.9
               ,     tasty-rerun >= 1.1
               ,     text
               ,     transformers >= 0.3
               ,     syb
               ,     liquid-fixpoint >= 0.7.0.5
               ,     hpc >= 0.6

  if flag(devel)
    hs-source-dirs:   tests src
    build-depends:
                  aeson
                , binary
                , bytestring
                , cereal
                , cmdargs >= 0.10
                , data-default >= 0.5
                , deepseq
                , directory >= 1.2
                , filepath >= 1.3
                , mtl >= 2.1
                , ghc
                , ghc-boot
                , hashable >= 1.2
                , liquid-fixpoint >= 0.7.0.5
                , pretty
                , syb >= 0.4.4
                , time
                , unordered-containers >= 0.2
                , template-haskell
                , hpc >= 0.6

  else
    build-depends: liquidhaskell
                 , base >= 4 && < 5
                 , ghc
                 , ghc-boot
                 , array >= 0.5
                 , time >= 1.4
                 , directory >= 1.2
                 , hpc >= 0.6
                 , containers >= 0.5
                 , template-haskell >= 2.9
                 , bytestring