packages feed

extensible-effects-concurrent-2.0.0: extensible-effects-concurrent.cabal

cabal-version:  2.4
name:           extensible-effects-concurrent
version:        2.0.0
description:    Please see the README on GitHub at <https://github.com/sheyll/extensible-effects-concurrent#readme>
synopsis:       Message passing concurrency as extensible-effect
homepage:       https://github.com/sheyll/extensible-effects-concurrent#readme
bug-reports:    https://github.com/sheyll/extensible-effects-concurrent/issues
author:         Sven Heyll
maintainer:     sven.heyll@gmail.com
category:       Concurrency, Control, Effect
tested-with:    GHC==8.6.5,GHC==8.8.3,GHC==8.10.2
copyright:      Copyright Sven Heyll
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Simple

extra-doc-files:
    docs/extensible-effects-concurrent-test-Loop-without-space-leaks.png
    docs/extensible-effects-concurrent-test-Loop-WITH-space-leaks.png

extra-source-files:
    stack.yaml
    default.nix
    shell.nix
    benchmark.nix
    ChangeLog.md
    README.md

source-repository head
  type: git
  location: https://github.com/sheyll/extensible-effects-concurrent

common compiler-flags
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wincomplete-uni-patterns
    -Wincomplete-record-updates
    -Wredundant-constraints
    -fhide-source-paths
    -- -Wmissing-export-lists
    -Wpartial-fields
    -- -Wmissing-deriving-strategies
    -fno-full-laziness
  default-extensions:
     AllowAmbiguousTypes,
     BangPatterns,
     ConstraintKinds,
     DefaultSignatures,
     DeriveFoldable,
     DeriveFunctor,
     DeriveFunctor,
     DeriveGeneric,
     DeriveTraversable,
     FlexibleContexts,
     FlexibleInstances,
     FunctionalDependencies,
     GADTs,
     GeneralizedNewtypeDeriving,
     LambdaCase,
     MultiParamTypeClasses,
     NumericUnderscores,
     OverloadedStrings,
     RankNTypes,
     ScopedTypeVariables,
     StandaloneDeriving,
     TemplateHaskell,
     TupleSections,
     TypeApplications,
     TypeFamilies,
     TypeInType,
     TypeOperators,
     ViewPatterns
  other-extensions:
    ImplicitParams,
    OverloadedStrings,
    UndecidableInstances
  default-language: Haskell2010

common deps
  build-depends:
      base >= 4.12 && <5,
      deepseq >= 1.4 && < 1.5,
      text >= 1.2 && < 1.3,
      extensible-effects >= 5 && < 6

library
  import: deps, compiler-flags
  hs-source-dirs:
      src
  build-depends:
      async >= 2.2 && <3,
      data-default >= 0.7 && < 0.8,
      directory,
      hashable >= 1.2,
      hostname,
      exceptions >= 0.10 && < 0.11,
      safe-exceptions >= 0.1 && < 0.2,
      filepath >= 1.4 && < 1.5,
      time >= 1.8 && < 2,
      mtl >= 2.2 && < 2.3,
      containers >=0.5.8 && <0.7,
      lens >= 4.14 && < 5,
      monad-control >= 1.0 && < 1.1,
      stm >= 2.4.5 && <2.6,
      transformers-base >= 0.4 && < 0.5,
      network >= 2 && < 4
  autogen-modules: Paths_extensible_effects_concurrent
  exposed-modules:
                  Control.Eff.Loop,
                  Control.Eff.ExceptionExtra,
                  Control.Eff.Log,
                  Control.Eff.Log.Examples,
                  Control.Eff.Log.Handler,
                  Control.Eff.Log.Message,
                  Control.Eff.Log.MessageRenderer,
                  Control.Eff.Log.Writer,
                  Control.Eff.LogWriter.Async,
                  Control.Eff.LogWriter.Console,
                  Control.Eff.LogWriter.DebugTrace,
                  Control.Eff.LogWriter.File,
                  Control.Eff.LogWriter.Rich,
                  Control.Eff.LogWriter.UDP,
                  Control.Eff.LogWriter.UnixSocket,
                  Control.Eff.Concurrent,
                  Control.Eff.Concurrent.Protocol,
                  Control.Eff.Concurrent.Protocol.CallbackServer,
                  Control.Eff.Concurrent.Protocol.Client,
                  Control.Eff.Concurrent.Protocol.EffectfulServer,
                  Control.Eff.Concurrent.Protocol.StatefulServer,
                  Control.Eff.Concurrent.Protocol.Broker,
                  Control.Eff.Concurrent.Protocol.Watchdog,
                  Control.Eff.Concurrent.Protocol.Wrapper,
                  Control.Eff.Concurrent.Process,
                  Control.Eff.Concurrent.Process.Timer,
                  Control.Eff.Concurrent.Process.ForkIOScheduler,
                  Control.Eff.Concurrent.Process.Interactive,
                  Control.Eff.Concurrent.Process.SingleThreadedScheduler,
                  Control.Eff.Concurrent.Protocol.Observer,
                  Control.Eff.Concurrent.Protocol.Observer.Queue,
                  Control.Eff.Concurrent.Pure,
                  Control.Eff.Concurrent.SingleThreaded
  other-modules:
                Control.Eff.Concurrent.Protocol.Broker.InternalState,
                Paths_extensible_effects_concurrent

executable extensible-effects-concurrent-example-1
  import: deps, compiler-flags
  main-is: Main.hs
  hs-source-dirs: examples/example-1
  build-depends: extensible-effects-concurrent
  ghc-options: -threaded
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"
  default-extensions:
    OverloadedStrings

executable extensible-effects-concurrent-example-2
  import: deps, compiler-flags
  main-is: Main.hs
  hs-source-dirs: examples/example-2
  build-depends:
                data-default
              , extensible-effects-concurrent
              , lens
  ghc-options: -threaded
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"
  default-extensions:
    OverloadedStrings

executable extensible-effects-concurrent-example-3
  import: deps, compiler-flags
  main-is: Main.hs
  hs-source-dirs: examples/example-3
  build-depends:
                extensible-effects-concurrent
              , lens
  ghc-options: -threaded
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"
  default-extensions:
    OverloadedStrings

executable extensible-effects-concurrent-example-4
  import: compiler-flags
  main-is: Main.hs
  hs-source-dirs: examples/example-4
  build-depends:
                base
              , extensible-effects-concurrent
              , extensible-effects
  ghc-options: -threaded
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"

executable extensible-effects-concurrent-example-embedded-protocols
  import: deps, compiler-flags
  main-is: Main.hs
  hs-source-dirs: examples/example-embedded-protocols
  build-depends:
                data-default
              , extensible-effects-concurrent
              , lens
  ghc-options: -threaded
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"
  default-extensions:
    OverloadedStrings

executable extensible-effects-concurrent-example-loadtest
  import: deps, compiler-flags
  main-is: Main.hs
  hs-source-dirs: examples/loadtest
  build-depends:
                data-default
              , extensible-effects-concurrent
              , lens
  ghc-options: -threaded
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"
  default-extensions:
    OverloadedStrings

              
benchmark extensible-effects-concurrent-bench
  import: deps, compiler-flags
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: src-benchmark
  ghc-options:  -Wno-missing-signatures -threaded "-with-rtsopts=-N"
  build-depends:
                extensible-effects-concurrent,
                criterion,
                unliftio

test-suite extensible-effects-concurrent-test
  import: compiler-flags
  type: exitcode-stdio-1.0
  main-is: Driver.hs
  hs-source-dirs: test
  other-modules:
                Common
              , Debug
              , ForkIOScheduler
              , GenServerTests
              , Interactive
              , LoggingTests
              , LoopTests
              , ObserverTests
              , ProcessBehaviourTestCases
              , BrokerTests
              , SingleThreadedScheduler
              , WatchdogTests
  ghc-options: -threaded -Wno-missing-signatures
  ghc-prof-options: -fprof-auto "-with-rtsopts=-T -xt -Pa -hc -L256"
  build-depends:
                async
              , base
              , containers
              , data-default
              , deepseq
              , extensible-effects-concurrent
              , extensible-effects
              , filepath
              , hostname
              , HUnit
              , lens
              , monad-control
              , QuickCheck
              , stm
              , tasty
              , tasty-discover
              , tasty-hunit
              , text
              , time