packages feed

drama-0.2.0.0: drama.cabal

cabal-version: 3.0

name:        drama
version:     0.2.0.0
synopsis:    Simple actor library for Haskell
description: Simple actor library for Haskell
category:    Concurrency
author:      Evan Relf <evan@evanrelf.com>
maintainer:  Evan Relf <evan@evanrelf.com>
homepage:    https://github.com/evanrelf/drama
license:     BSD-3-Clause
copyright:   2021 Evan Relf
tested-with: GHC == 8.6.5, GHC == 8.10.3

license-file: LICENSE
extra-source-files:
  CHANGELOG.md
  LICENSE
  README.md
  examples/*.hs


common common
  build-depends: base >= 4.12 && < 5.0
  default-language: Haskell2010
  ghc-options:
    -Wall
    -Wcompat
    -Werror=incomplete-record-updates
    -Werror=incomplete-uni-patterns
    -Werror=missing-fields
    -Werror=partial-fields
    -Widentities
    -Wmissing-home-modules
    -Wredundant-constraints
    -fshow-warning-groups


common executable
  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N


common stan
  if impl(ghc >= 8.8)
    ghc-options:
      -fwrite-ide-info
      -hiedir=.hie


library
  import: common, stan
  hs-source-dirs: src
  build-depends:
    , ki           ^>= 0.2.0.1
    , transformers >= 0.5.6.2 && < 1.0
    , unagi-chan   ^>= 0.4.1.3
  exposed-modules:
    , Drama
    , Drama.Internal
    , Drama.Reexports


benchmark bench
  import: common, stan
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: Main.hs
  build-depends:
    , criterion ^>= 1.5.9.0
    , drama


executable example-shared-resource
  import: common, executable, stan
  main-is: examples/shared-resource.hs
  build-depends: drama


executable example-workers
  import: common, executable, stan
  main-is: examples/workers.hs
  build-depends: drama