cabal-version: 3.0
Name: distributed-process
Version: 0.7.7
Build-Type: Simple
License: BSD-3-Clause
License-File: LICENSE
Copyright: Well-Typed LLP, Tweag I/O Limited
Author: Duncan Coutts, Nicolas Wu, Edsko de Vries
maintainer: The Distributed Haskell team
Stability: experimental
Homepage: https://haskell-distributed.github.io/
Bug-Reports: https://github.com/haskell-distributed/distributed-process/issues
Synopsis: Cloud Haskell: Erlang-style concurrency in Haskell
Description: This is an implementation of Cloud Haskell, as described in
/Towards Haskell in the Cloud/ by Jeff Epstein, Andrew Black,
and Simon Peyton Jones
(<https://simon.peytonjones.org/haskell-cloud/>),
although some of the details are different. The precise message
passing semantics are based on /A unified semantics for future Erlang/
by Hans Svensson, Lars-Åke Fredlund and Clara Benac Earle.
You will probably also want to install a Cloud Haskell backend such
as distributed-process-simplelocalnet.
tested-with: GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1
Category: Control
extra-doc-files: ChangeLog
common warnings
ghc-options: -Wall
-Wcompat
-Widentities
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wredundant-constraints
-fhide-source-paths
-Wpartial-fields
source-repository head
Type: git
Location: https://github.com/haskell-distributed/distributed-process
SubDir: packages/distributed-process
flag th
description: Build with Template Haskell support
default: True
Library
import: warnings
Build-Depends: base >= 4.14 && < 5,
binary >= 0.8 && < 0.10,
hashable >= 1.2.0.5 && < 1.6,
network-transport >= 0.4.1.0 && < 0.6,
stm >= 2.4 && < 2.6,
transformers >= 0.2 && < 0.7,
mtl >= 2.0 && < 2.4,
data-accessor >= 0.2 && < 0.3,
bytestring >= 0.10 && < 0.13,
random >= 1.0 && < 1.3,
distributed-static >= 0.2 && < 0.4,
rank1dynamic >= 0.1 && < 0.5,
syb >= 0.3 && < 0.8,
exceptions >= 0.10,
containers >= 0.6 && < 0.8,
deepseq >= 1.4 && < 1.6,
time >= 1.9
Exposed-modules: Control.Distributed.Process
Control.Distributed.Process.Closure
Control.Distributed.Process.Debug
Control.Distributed.Process.Internal.BiMultiMap
Control.Distributed.Process.Internal.Closure.BuiltIn
Control.Distributed.Process.Internal.Closure.Explicit
Control.Distributed.Process.Internal.CQueue
Control.Distributed.Process.Internal.Messaging
Control.Distributed.Process.Internal.Primitives
Control.Distributed.Process.Internal.Spawn
Control.Distributed.Process.Internal.StrictContainerAccessors
Control.Distributed.Process.Internal.StrictList
Control.Distributed.Process.Internal.StrictMVar
Control.Distributed.Process.Internal.Types
Control.Distributed.Process.Internal.WeakTQueue
Control.Distributed.Process.Management
Control.Distributed.Process.Node
Control.Distributed.Process.Serializable
Control.Distributed.Process.UnsafePrimitives
Control.Distributed.Process.Management.Internal.Agent
Control.Distributed.Process.Management.Internal.Bus
Control.Distributed.Process.Management.Internal.Types
Control.Distributed.Process.Management.Internal.Trace.Primitives
Control.Distributed.Process.Management.Internal.Trace.Remote
Control.Distributed.Process.Management.Internal.Trace.Types
Control.Distributed.Process.Management.Internal.Trace.Tracer
default-language: Haskell2010
HS-Source-Dirs: src
other-extensions: BangPatterns
CPP
DeriveDataTypeable
DeriveFunctor
DeriveGeneric
ExistentialQuantification
FlexibleInstances
GADTs
GeneralizedNewtypeDeriving
KindSignatures
MagicHash
PatternGuards
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TypeFamilies
TypeSynonymInstances
UnboxedTuples
UndecidableInstances
if flag(th)
other-extensions: TemplateHaskell
Build-Depends: template-haskell >= 2.6
Exposed-modules: Control.Distributed.Process.Internal.Closure.TH
CPP-Options: -DTemplateHaskellSupport
-- Tests are in distributed-process-test package, for convenience.
benchmark distributed-process-throughput
import: warnings
Type: exitcode-stdio-1.0
Build-Depends: base >= 4.14 && < 5,
distributed-process,
network-transport-tcp >= 0.3 && <= 0.9,
bytestring >= 0.10 && < 0.13,
binary >= 0.8 && < 0.10
Main-Is: benchmarks/Throughput.hs
default-language: Haskell2010
benchmark distributed-process-latency
import: warnings
Type: exitcode-stdio-1.0
Build-Depends: base >= 4.14 && < 5,
distributed-process,
network-transport-tcp >= 0.3 && <= 0.9,
bytestring >= 0.10 && < 0.13,
binary >= 0.8 && < 0.10
Main-Is: benchmarks/Latency.hs
default-language: Haskell2010
benchmark distributed-process-channels
import: warnings
Type: exitcode-stdio-1.0
Build-Depends: base >= 4.14 && < 5,
distributed-process,
network-transport-tcp >= 0.3 && <= 0.9,
bytestring >= 0.10 && < 0.13,
binary >= 0.8 && < 0.10
Main-Is: benchmarks/Channels.hs
default-language: Haskell2010
benchmark distributed-process-spawns
import: warnings
Type: exitcode-stdio-1.0
Build-Depends: base >= 4.14 && < 5,
distributed-process,
network-transport-tcp >= 0.3 && <= 0.9,
bytestring >= 0.10 && < 0.13,
binary >= 0.8 && < 0.10
Main-Is: benchmarks/Spawns.hs
default-language: Haskell2010
benchmark distributed-process-ring
import: warnings
Type: exitcode-stdio-1.0
Build-Depends: base >= 4.14 && < 5,
distributed-process,
network-transport-tcp >= 0.3 && <= 0.9,
bytestring >= 0.10 && < 0.13,
binary >= 0.8 && < 0.10
Main-Is: benchmarks/ProcessRing.hs
default-language: Haskell2010
ghc-options: -threaded -O2 -rtsopts