packages feed

deltaq-1.0.0.0: deltaq.cabal

cabal-version:   3.0
name:            deltaq

-- Package Versioning Policy: https://pvp.haskell.org
-- PVP summary:    +-+------- breaking API changes
--                 | | +----- non-breaking API additions
--                 | | | +--- code changes with no API change
version:         1.0.0.0
synopsis:        Framework for ∆Q System Development
description:
  ∆Q System Development is a paradigm for developing distributed systems
  that meet performance requirements.

  In this paradigm,
  the system designer starts by defining high-level outcomes,
  explores different refinements into combinations of lower-level outcomes,
  and evaluates their performance characteristics.

  The `deltaq` package (pronounced "Delta Q") provides
  data types and functions for

  * outcomes and their combinations
  * evaluating the performance characteristics of outcomes,
    specifically the probability distribution of their completion times

category:        DeltaQ, Distributed Systems, Probability
homepage:        https://github.com/DeltaQ-SD/deltaq
license:         BSD-3-Clause
license-file:    LICENSE
copyright:       Predictable Network Solutions Ltd., 2003-2024
author:          Neil Davies, Heinrich Apfelmus
maintainer:      neil.davies@pnsol.ccom

extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  , GHC == 9.10.1

common warnings
  ghc-options: -Wall

source-repository head
  type:     git
  location: git://github.com/DeltaQ-SD/deltaq.git
  subdir:   lib/deltaq

library
  import:           warnings
  hs-source-dirs:   src
  default-language: Haskell2010
  build-depends:
    , base >= 4.14.3.0 && < 5
    , deepseq >= 1.4.4.0 && < 1.6
    , Chart >= 1.8 && < 2.0
    , lattices >= 2.2 && < 2.3
    , probability-polynomial >= 1.0 && < 1.1

  exposed-modules:
    DeltaQ
    DeltaQ.Class
    DeltaQ.Methods
    DeltaQ.PiecewisePolynomial
    DeltaQ.Plot

test-suite test
  import:           warnings
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  default-language: Haskell2010

  build-tool-depends: hspec-discover:hspec-discover

  build-depends:
    , base
    , deltaq
    , probability-polynomial
    , hspec >= 2.11.0 && < 2.12
    , QuickCheck >= 2.14 && < 2.16

  main-is:
    Spec.hs

  other-modules:
    DeltaQ.ClassSpec
    DeltaQ.MethodsSpec
    DeltaQ.PiecewisePolynomialSpec

benchmark basic
  import:           warnings
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmark
  default-language: Haskell2010

  build-depends:
    , base
    , bytestring >= 0.11 && < 0.13
    , deltaq
    , cassava >= 0.5.3.2 && < 0.6
    , criterion >= 1.6 && < 1.7
    , deepseq
    , hvega >= 0.12 && < 0.13
    , optparse-applicative >= 0.18.1.0 && < 0.19
    , statistics >= 0.16 && < 0.17
    , vector >= 0.12 && < 0.14

  main-is:
    Main.hs

  other-modules:
    Benchmark.Plot