name:                   lambdabot-haskell-plugins
version:                5.2

license:                GPL
license-file:           LICENSE

author:                 Don Stewart
maintainer:             James Cook <mokus@deepbondi.net>

category:               Development, Web
synopsis:               Lambdabot Haskell plugins
description:            Lambdabot is an IRC bot written over several years by
                        those on the #haskell IRC channel.
                        .
                        Provided plugins:
                        .
                        [check] Quick, check!
                        .
                        [djinn] Derive implementations from types intuitinistically.
                        .
                        [eval] Run Haskell code.
                        .
                        [free] Theorems for free.
                        .
                        [haddock] Find modules implementing a function.
                        .
                        [hoogle] Search for functions by type using hoogle.
                        .
                        [instances] Query instances of type classes.
                        .
                        [pl] Produce point-less code.
                        .
                        [pointful] Produce point-ful code.
                        .
                        [pretty] Print code prettily.
                        .
                        [source] Show implementations of standard functions.
                        .
                        [type] Query type of expressions.
                        .
                        [undo] Unfold do notation.
                        .
                        [unmtl] Expand monad transformers stacks.

homepage:               https://wiki.haskell.org/Lambdabot

build-type:             Simple
cabal-version:          >= 1.8
tested-with:            GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5

extra-source-files:     src/Lambdabot/Plugin/Haskell/Free/Test.hs

source-repository head
  type:                 git
  location:             https://github.com/lambdabot/lambdabot.git

library
  hs-source-dirs:       src
  ghc-options:          -Wall
                        -funbox-strict-fields

  exposed-modules:      Lambdabot.Plugin.Haskell

  other-modules:        Lambdabot.Config.Haskell
                        Lambdabot.Plugin.Haskell.Check
                        Lambdabot.Plugin.Haskell.Djinn
                        Lambdabot.Plugin.Haskell.Eval
                        Lambdabot.Plugin.Haskell.Free
                        Lambdabot.Plugin.Haskell.Free.Expr
                        Lambdabot.Plugin.Haskell.Free.FreeTheorem
                        Lambdabot.Plugin.Haskell.Free.Parse
                        Lambdabot.Plugin.Haskell.Free.Theorem
                        Lambdabot.Plugin.Haskell.Free.Type
                        Lambdabot.Plugin.Haskell.Free.Util
                        Lambdabot.Plugin.Haskell.Haddock
                        Lambdabot.Plugin.Haskell.Hoogle
                        Lambdabot.Plugin.Haskell.Instances
                        Lambdabot.Plugin.Haskell.Pl
                        Lambdabot.Plugin.Haskell.Pl.Common
                        Lambdabot.Plugin.Haskell.Pl.Names
                        Lambdabot.Plugin.Haskell.Pl.Optimize
                        Lambdabot.Plugin.Haskell.Pl.Parser
                        Lambdabot.Plugin.Haskell.Pl.PrettyPrinter
                        Lambdabot.Plugin.Haskell.Pl.RuleLib
                        Lambdabot.Plugin.Haskell.Pl.Rules
                        Lambdabot.Plugin.Haskell.Pl.Transform
                        Lambdabot.Plugin.Haskell.Pointful
                        Lambdabot.Plugin.Haskell.Pretty
                        Lambdabot.Plugin.Haskell.Source
                        Lambdabot.Plugin.Haskell.Type
                        Lambdabot.Plugin.Haskell.Undo
                        Lambdabot.Plugin.Haskell.UnMtl
                        Lambdabot.Util.Parser

  build-depends:        array                   >= 0.4,
                        base                    >= 4.4 && < 5,
                        bytestring              >= 0.9,
                        containers              >= 0.4,
                        directory               >= 1.1,
                        filepath                >= 1.3,
                        haskell-src-exts-simple >= 1.18.0.0 && < 1.22,
                        lambdabot-core          >= 5.2 && < 5.3,
                        lambdabot-reference-plugins >= 5.2 && < 5.3,
                        lifted-base             >= 0.2,
                        mtl                     >= 2,
                        oeis                    >= 0.3.1,
                        parsec                  >= 3,
                        pretty                  >= 1.1,
                        process                 >= 1.1,
                        QuickCheck              >= 2,
                        regex-tdfa              >= 1.1,
                        split                   >= 0.2,
                        syb                     >= 0.3,
                        transformers            >= 0.2,
                        utf8-string             >= 0.3,

                        -- runtime dependencies - for eval etc.
                        arrows                  >= 0.4,
                        data-memocombinators    >= 0.4,
                        hoogle                  >= 5.0.17.1,
                        IOSpec                  >= 0.2,
                        lambdabot-trusted       >= 5.2 && < 5.3,
                        logict                  >= 0.5,
                        MonadRandom             >= 0.1,
                        mueval                  >= 0.9.3,
                        numbers                 >= 3000,
                        show                    >= 0.4,
                        vector-space            >= 0.8,
                        HTTP                    >= 4000,
                        network                 >= 2.7 && < 3.2