packages feed

cloudchor-0.1.0.0: cloudchor.cabal

cabal-version: 3.8

name: cloudchor
version: 0.1.0.0
synopsis: Lightweight and efficient choreographic programming for cloud services
description: Please see the README on GitHub at <https://github.com/aionescu/cloudchor#readme>
category: Concurrency

homepage: https://github.com/aionescu/cloudchor
bug-reports: https://github.com/aionescu/cloudchor/issues

author: Alex Ionescu
maintainer: Alex Ionescu <hackage@ionescu.sh>
copyright: Copyright (C) 2025 Alex Ionescu

license: MPL-2.0
license-files:
  LICENSE.txt
  LICENSE-HasChor.txt

build-type: Simple
extra-doc-files: README.md

tested-with:
  GHC == 9.10.3
  GHC == 9.8.4

source-repository head
  type: git
  location: https://github.com/aionescu/cloudchor

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

common warnings
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wmissing-deriving-strategies
    -Wno-name-shadowing
    -Wno-unused-do-bind
    -Wno-type-defaults
    -Wpartial-fields
    -Wprepositive-qualified-module
    -Wredundant-constraints
    -Wunused-packages

library
  import: warnings
  default-language: GHC2021
  hs-source-dirs: src

  exposed-modules:
    Choreography
    Choreography.Choreo
    Choreography.Location
    Choreography.Location.Multi
    Choreography.Network
    Choreography.Network.Http
    Choreography.Network.Local
    Choreography.Network.LocalMsgCount
    Control.Monad.Freer

  build-depends:
    base                   >= 4.16 && < 4.21
    , containers           >= 0.6  && < 0.7
    , http-client          >= 0.7  && < 0.8
    , mtl                  >= 2.3  && < 2.4
    , servant              >= 0.19 && < 0.21
    , servant-client       >= 0.19 && < 0.21
    , servant-server       >= 0.19 && < 0.21
    , sop-core             >= 0.5  && < 0.6
    , template-haskell     >= 2.18 && < 2.23
    , unordered-containers >= 0.2  && < 0.3
    , warp                 >= 3.3  && < 3.4

executable bench
  import: threaded, warnings
  default-language: GHC2021
  hs-source-dirs: bench
  main-is: Main.hs

  other-modules:
    Benchmark
    Choreos.Bookseller
    Choreos.CleanRoom
    Choreos.Kvs

  build-depends:
    base         >= 4.16 && < 4.21
    , containers >= 0.6  && < 0.7
    , sop-core   >= 0.5  && < 0.6
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-clean-room
  import: warnings
  default-language: GHC2021
  hs-source-dirs: examples/clean-room
  main-is: Main.hs

  build-depends:
    base         >= 4.16 && < 4.21
    , random     >= 1.2  && < 1.3
    , sop-core   >= 0.5  && < 0.6
    , cloudchor

executable example-unsoundness
  import: warnings
  default-language: GHC2021
  hs-source-dirs: examples/unsoundness
  main-is: Main.hs

  build-depends:
    base             >= 4.16 && < 4.21
    , http-client    >= 0.7  && < 0.8
    , servant        >= 0.19 && < 0.21
    , servant-client >= 0.19 && < 0.21
    , servant-server >= 0.19 && < 0.21
    , warp           >= 3.3  && < 3.4
    , cloudchor

executable example-HasChor-bank-2pc
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/bank-2pc
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , split     >= 0.2  && < 0.3
    , time      >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-bookseller-0-network
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/bookseller-0-network
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , time      >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-bookseller-1-simple
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/bookseller-1-simple
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , time      >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-bookseller-2-higher-order
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/bookseller-2-higher-order
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , time      >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-bookseller-3-loc-poly
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/bookseller-3-loc-poly
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , time      >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-diffiehellman
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/diffiehellman
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , random    >= 1.2  && < 1.3
    , time      >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-karatsuba
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/karatsuba
  main-is: Main.hs

  build-depends:
    base         >= 4.16 && < 4.21
    , async      >= 2.2  && < 2.3
    , containers >= 0.6  && < 0.7
    , cloudchor

executable example-HasChor-kvs1
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/kvs-1-simple
  main-is: Main.hs

  build-depends:
    base         >= 4.16 && < 4.21
    , containers >= 0.6  && < 0.7
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-kvs2
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/kvs-2-primary-backup
  main-is: Main.hs

  build-depends:
    base         >= 4.16 && < 4.21
    , containers >= 0.6  && < 0.7
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-kvs3
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/kvs-3-higher-order
  main-is: Main.hs

  build-depends:
    base         >= 4.16 && < 4.21
    , containers >= 0.6  && < 0.7
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-kvs4
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/kvs-4-loc-poly
  main-is: Main.hs

  build-depends:
    base         >= 4.16 && < 4.21
    , containers >= 0.6  && < 0.7
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-mergesort
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/mergesort
  main-is: Main.hs

  ghc-options:
    -Wno-x-partial

  build-depends:
    base         >= 4.16 && < 4.21
    , containers >= 0.6  && < 0.7
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-quicksort
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/quicksort
  main-is: Main.hs

  ghc-options:
    -Wno-x-partial

  build-depends:
    base         >= 4.16 && < 4.21
    , async      >= 2.2  && < 2.3
    , containers >= 0.6  && < 0.7
    , time       >= 1.11 && < 1.13
    , cloudchor

executable example-HasChor-ring-leader
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/ring-leader
  main-is: Main.hs

  build-depends:
    base           >= 4.16 && < 4.21
    , transformers >= 0.5  && < 0.7
    , cloudchor

executable example-HasChor-playground
  default-language: GHC2021
  hs-source-dirs: examples/HasChor/playground
  main-is: Main.hs

  build-depends:
    base        >= 4.16 && < 4.21
    , cloudchor