packages feed

drama-0.3.0.0: drama.cabal

cabal-version: 2.4

name:        drama
version:     0.3.0.0
synopsis:    Actor library for Haskell
description: 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.8.4, 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
  build-depends: drama
  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N


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


library
  import: common, hie
  hs-source-dirs: src
  build-depends:
      ki           >= 0.2.0.1 && < 0.3
    , transformers >= 0.5.6.2 && < 1.0
    , unagi-chan   >= 0.4.1.3 && < 0.5
  exposed-modules:
      Drama
    , Drama.Loop
    , Drama.Process
    , Drama.Process.Internal
    , Drama.Server
    , Drama.Server.Internal


executable example-shared-resource
  import: common, executable, hie
  main-is: examples/shared-resource.hs


executable example-use
  import: common, executable, hie
  main-is: examples/use.hs


executable example-workers
  import: common, executable, hie
  main-is: examples/workers.hs