packages feed

theatre-dev-0.2: theatre-dev.cabal

cabal-version: 3.0
name:          theatre-dev
version:       0.2
category:      Concurrency, Actors
synopsis:      Minimalistic actor library experiments
description:
  Design space exploration for the \"theatre\" library.
  Don\'t expect this lib to maintain a stable API.
  Once clearly useful abstractions emerge, they'll be moved to the
  \"theatre\" lib.

stability:     experimental
homepage:      https://github.com/nikita-volkov/theatre-dev
bug-reports:   https://github.com/nikita-volkov/theatre-dev/issues
author:        Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer:    Nikita Volkov <nikita.y.volkov@mail.ru>
copyright:     (c) 2022, Nikita Volkov
license:       MIT
license-file:  LICENSE

source-repository head
  type:     git
  location: git://github.com/nikita-volkov/theatre-dev.git

common base
  default-language:   Haskell2010
  default-extensions:
    NoFieldSelectors
    NoImplicitPrelude
    NoMonomorphismRestriction
    ApplicativeDo
    Arrows
    BangPatterns
    BlockArguments
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    LambdaCase
    LiberalTypeSynonyms
    MagicHash
    MultiParamTypeClasses
    MultiWayIf
    NamedFieldPuns
    OverloadedRecordDot
    OverloadedRecordDot
    OverloadedStrings
    ParallelListComp
    PatternGuards
    PatternSynonyms
    QuasiQuotes
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators
    UnboxedTuples

common executable
  import:      base
  ghc-options: -O2 -threaded "-with-rtsopts=-N -I0 -qg"

common test
  import:      base
  ghc-options: -threaded -with-rtsopts=-N

library
  import:          base
  hs-source-dirs:  library
  exposed-modules: TheatreDev
  other-modules:
    TheatreDev.ExtrasFor.List
    TheatreDev.ExtrasFor.TBQueue
    TheatreDev.Prelude
    TheatreDev.StmStructures.Runner
    TheatreDev.Tell
    TheatreDev.Wait

  build-depends:
    , base >=4.16 && <5
    , contravariant >=1.3 && <2
    , stm >=2.5 && <2.5.2 || >=2.5.2.2 && <3
    , uuid >=1.3.15 && <2
    , vector >=0.13 && <0.14

test-suite hspec
  import:         test
  type:           exitcode-stdio-1.0
  hs-source-dirs: hspec
  main-is:        Main.hs
  other-modules:
    TheatreDevSpec
    TheatreDevSpec.IO
    TheatreDevSpec.Preferences

  build-depends:
    , async
    , hspec >=2.11.6 && <3
    , QuickCheck >=2.14 && <3
    , rerebase <2
    , theatre-dev