cabal-version:       2.2
name:                haga
version:             0.1.0.0
synopsis:            Simplistic genetic algorithms library
description:         Haga is a simplistic library for implementing genetic
                     algorithms in Haskell. While it was originally created to
                     randomly assign topics to students in seminars while
                     respecting their priorities, since then, it has become
                     slightly more general with the outlook of one day being a
                     fully fledged GA library usable for many different
                     problems. Haga is also used as a test bed for fun ideas
                     such as representing improvements in the population's
                     fitness using MIDI sound.
license:             GPL-3.0-only
license-file:        LICENSE
author:              David Pätzel
maintainer:          david.paetzel@posteo.de
copyright:           Copyright (c): 2020 David Pätzel
category:            Optimization
build-type:          Simple

library
  build-depends:       base
                     , cassava
                     , containers
                     , extra
                     , MonadRandom
                     , monad-loops
                     , optparse-applicative
                     , pipes
                     , protolude
                     , QuickCheck
                     , quickcheck-instances
                     , random
                     , random-fu
                     , random-shuffle
                     , mwc-random
                     , primitive
                     , text
                     , wl-pprint-text
  default-language:    Haskell2010
  ghc-options:         -Wall -Wno-name-shadowing -Wno-orphans -threaded -rtsopts
  hs-source-dirs:      src
  exposed-modules:     GA
                     , Seminar
                     , Pretty
                     , Szenario191
                     , LambdaCalculus

executable haga
  build-depends:       base
                     , cassava
                     , containers
                     , extra
                     , MonadRandom
                     , monad-loops
                     , optparse-applicative
                     , pipes
                     , protolude
                     , QuickCheck
                     , quickcheck-instances
                     , random
                     , random-fu
                     , random-shuffle
                     , mwc-random
                     , primitive
                     , text
                     , wl-pprint-text
  default-language:    Haskell2010
  ghc-options:         -Wall -Wno-name-shadowing -Wno-orphans -threaded -rtsopts
  hs-source-dirs:      src
  main-is:             Main.hs
  other-modules:       GA
                     , Seminar
                     , Pretty
                     , Szenario191
                     , LambdaCalculus

executable haga-test
  build-depends:       base
                     , cassava
                     , containers
                     , Cabal
                     , extra
                     , MonadRandom
                     , monad-loops
                     , optparse-applicative
                     , pipes
                     , protolude
                     , QuickCheck
                     , quickcheck-instances
                     , random
                     , random-fu
                     , random-shuffle
                     , mwc-random
                     , primitive
                     , text
                     , wl-pprint-text
  default-language:    Haskell2010
  ghc-options:         -Wall -Wno-name-shadowing -Wno-orphans -threaded -rtsopts
  hs-source-dirs:      src
  main-is:             Test.hs
  other-modules:       GA
                     , Seminar
                     , Pretty
                     , Szenario191
                     , LambdaCalculus