MultiChor-1.0.1.1: MultiChor.cabal
cabal-version: 3.0
name: MultiChor
version: 1.0.1.1
license-files:
, LICENSE
, LICENSE.inherited
license: BSD-3-Clause
maintainer: mako.bates@uvm.edu
category: Distributed-Computing
synopsis: Type-safe and efficient choreographies with location-set polymorphism.
description:
MultiChor is a library for functional choreographic programming in Haskell.
tested-with:
GHC == 9.4.8, GHC == 9.10.1
extra-doc-files:
README.md
source-repository head
type: git
location: https://github.com/ShapeOfMatter/MultiChor
common basic-config
default-language: GHC2021
build-depends:
, base >= 4.16 && < 5
, bytestring >= 0.11 && < 0.13
, http-client >= 0.7 && < 0.8
, mtl >= 2.2.2 && < 3.0
, servant >= 0.19 && < 0.21
, servant-client >= 0.19 && < 0.21
, servant-server >= 0.19 && < 0.21
, template-haskell >= 2.18 && < 2.23
, unordered-containers >= 0.2 && < 0.3
, warp >= 3.3 && < 3.4
ghc-options:
-Wall
-Wno-incomplete-uni-patterns
-fprint-potential-instances
-haddock
-Winvalid-haddock
default-extensions: BlockArguments
,DataKinds
,ExplicitNamespaces
,FunctionalDependencies
,GADTs
,ImpredicativeTypes
,LambdaCase
,LiberalTypeSynonyms
,TypeFamilies
library
import: basic-config
hs-source-dirs: src
exposed-modules:
Choreography
Choreography.Choreography
Choreography.Choreography.Batteries
Choreography.Core
Choreography.Locations
Choreography.Locations.Batteries
Choreography.Network
Choreography.Network.Http
Choreography.Network.Local
Choreography.Polymorphism
Control.Monad.Freer
common lib-dependent
import: basic-config
build-depends: MultiChor
Flag test
Description: Enable debug support
Default: False
Manual: True
common example
import: lib-dependent
if flag(test)
buildable: True
hs-source-dirs: examples
build-depends:
, async >= 2.2 && < 2.3
, binary >= 0.8.9.0 && < 0.10.1.0
-- trying to get hls to work with TestSuite
, Cabal >= 3.6.3 && < 3.13
--, cabal-detailed-quickcheck >= 0.2.0 && < 0.3
--
, containers >= 0.6 && < 0.7
, cryptonite >= 0.10 && < 0.31
, finite-field >= 0.10.0 && < 0.11.0
, split >= 0.2 && < 0.3
, random >= 1.2 && < 1.3
, time >= 1.11 && < 1.15
, transformers >= 0.5 && < 0.7
, QuickCheck >= 2.14 && < 3
other-modules: Distribution.TestSuite.QuickCheck
, CLI
else
buildable: False
Test-Suite testExamples
import: example
type: detailed-0.9
test-module: Tests
other-modules: Data
, Bank2PC
, Bookseller0Network
, Bookseller1Simple
, Bookseller2HigherOrder
, Bookseller3LocPoly
, BooksellerFancy
, CardGame
, ChooseTeams
, DelegationFig20
, DiffieHellman
, GMWReal
, Karatsuba
, KVS1Simple
, KVS2PrimaryBackup
, KVS3HigherOrder
, KVS4LocPoly
, KVS5Fig17
, KVS6SizePoly
, KVS7SimplePoly
, Lottery
, MergeSort
, MPCFake
, ObliviousTransfer
, QuickSort
, RingLeader
--executable bank-2pc
-- import: example
-- main-is: Bank2PC.hs
-- ghc-options:
-- -main-is Bank2PC
--
--executable lottery
-- import: example
-- main-is: Lottery.hs
-- ghc-options:
-- -main-is Lottery
--
--
--executable bookseller-0-network
-- import: example
-- main-is: Bookseller0Network.hs
-- ghc-options:
-- -main-is Bookseller0Network
--
--executable bookseller-1-simple
-- import: example
-- main-is: Bookseller1Simple.hs
-- ghc-options:
-- -main-is Bookseller1Simple
--
--executable bookseller-2-higher-order
-- import: example
-- main-is: Bookseller2HigherOrder.hs
-- ghc-options:
-- -main-is Bookseller2HigherOrder
--
--executable bookseller-3-loc-poly
-- import: example
-- main-is: Bookseller3LocPoly.hs
-- ghc-options:
-- -main-is Bookseller3LocPoly
--
--executable diffiehellman
-- import: example
-- main-is: DiffieHellman.hs
-- ghc-options:
-- -main-is DiffieHellman
--
--executable gmw-real
-- import: example
-- main-is: GMWReal.hs
-- ghc-options:
-- -main-is GMWReal
-- other-modules:
-- ObliviousTransfer
--
--executable karatsuba
-- import: example
-- main-is: Karatsuba.hs
-- ghc-options:
-- -main-is Karatsuba
--
--executable kvs1
-- import: example
-- main-is: KVS1Simple.hs
-- ghc-options:
-- -main-is KVS1Simple
--
--executable kvs2
-- import: example
-- main-is: KVS2PrimaryBackup.hs
-- ghc-options:
-- -main-is KVS2PrimaryBackup
--
--executable kvs3
-- import: example
-- main-is: KVS3HigherOrder.hs
-- ghc-options:
-- -main-is KVS3HigherOrder
--
--executable kvs4
-- import: example
-- main-is: KVS4LocPoly.hs
-- ghc-options:
-- -main-is KVS4LocPoly
--
--executable mergesort
-- import: example
-- main-is: MergeSort.hs
-- ghc-options:
-- -main-is MergeSort
--
--executable oblivious-transfer
-- import: example
-- main-is: ObliviousTransfer.hs
-- ghc-options:
-- -main-is ObliviousTransfer
--
--executable quicksort
-- import: example
-- main-is: QuickSort.hs
-- ghc-options:
-- -main-is QuickSort
--
--executable ring-leader
-- import: example
-- main-is: RingLeader.hs
-- ghc-options:
-- -main-is RingLeader