cabal-version: 2.2 -- This file has been generated from package.yaml by hpack version 0.38.1. -- -- see: https://github.com/sol/hpack name: creditmonad version: 1.0.0 synopsis: Reasoning about amortized time complexity description: Persistent data structures are ubiquitous in functional programming languages and their designers frequently have to reason about amortized time complexity. But proving amortized bounds is difficult in a persistent setting, and pen-and-paper proofs give little assurance of correctness, while a full mechanization in a proof assistant can be too involved for the casual user. This package defines a domain specific language for testing the amortized time complexity of persistent data structures using QuickCheck. The DSL can give strong evidence of correctness, while imposing low overhead on the user. The package includes implementations and tests of all lazy data structures given in Okasaki's book. See the paper "Lightweight Testing of Persistent Amortized Time Complexity in the Credit Monad" (2025) for a detailed description. category: Development homepage: https://github.com/anfelor/creditmonad#readme bug-reports: https://github.com/anfelor/creditmonad/issues author: Anton Lorenzen maintainer: Anton Lorenzen license: BSD-3-Clause build-type: Simple extra-doc-files: CHANGELOG.md source-repository head type: git location: https://github.com/anfelor/creditmonad library exposed-modules: Control.Monad.Credit Test.Credit Test.Credit.Deque.Bankers Test.Credit.Deque.Base Test.Credit.Deque.Catenable Test.Credit.Deque.ImplicitCat Test.Credit.Deque.Realtime Test.Credit.Deque.SimpleCat Test.Credit.Deque.Streams Test.Credit.Finger Test.Credit.Heap.Base Test.Credit.Heap.Binomial Test.Credit.Heap.LazyPairing Test.Credit.Heap.Pairing Test.Credit.Heap.Scheduled Test.Credit.Queue.Bankers Test.Credit.Queue.Base Test.Credit.Queue.Batched Test.Credit.Queue.Bootstrapped Test.Credit.Queue.Implicit Test.Credit.Queue.Physicists Test.Credit.Queue.Realtime Test.Credit.Queue.Streams Test.Credit.RandomAccess.Base Test.Credit.RandomAccess.Binary Test.Credit.RandomAccess.Zeroless Test.Credit.Sortable.Base Test.Credit.Sortable.MergeSort Test.Credit.Sortable.Scheduled other-modules: Control.Monad.Credit.Base Control.Monad.Credit.CreditM Control.Monad.Credit.CounterM hs-source-dirs: src ghc-options: -Wall -Wno-name-shadowing build-depends: QuickCheck >=2.14 && <3 , STMonadTrans ==0.4.* , base >=4.13 && <5 , containers >=0.6 && <1.7 , mtl ==2.3.* , prettyprinter ==1.7.* default-language: GHC2021 executable creditmonad main-is: Main.hs other-modules: Implicit Intro Stack hs-source-dirs: app ghc-options: -Wall -Wno-name-shadowing -O2 -fworker-wrapper-cbv -threaded -rtsopts build-depends: QuickCheck >=2.14 && <3 , STMonadTrans ==0.4.* , base >=4.13 && <5 , containers >=0.6 && <1.7 , creditmonad , mtl ==2.3.* , prettyprinter ==1.7.* , unliftio ==0.2.* default-language: GHC2021