PropRatt-0.2.0.0: PropRatt.cabal
cabal-version: 2.2
name: PropRatt
version: 0.2.0.0
synopsis: Property-based testing framework for testing asynchronous FRP programs.
category: testing
description:
PropRatt is a property-based testing framework for testing <https://hackage.haskell.org/package/AsyncRattus Async Rattus> programs.
The key component of PropRatt is its specification language, which extends basic linear temporal logic with
a means to express properties of several concurrent signals. This
allows users to express temporal properties that relate data coming from
different signals at different points in time.
.
More details about the specification language can be found in the <https://bahr.io/pubs/files/propratt-paper.pdf accompanying paper>.
.
Example specifications written in PropRatt:
.
* <https://github.com/pa-ba/PropRatt/blob/main/examples/timer/Timer.hs Specification for a simple GUI application>
.
* <https://github.com/pa-ba/PropRatt/blob/main/examples/main/Main.hs Specification for basic signal combinators> (@map@, @zip@, @scan@, etc.)
author: Christian Emil Nielsen, Mathias Faber Kristiansen, Patrick Bahr
maintainer: paba@itu.dk
copyright: 2025 Christian Emil Nielsen, Mathias Faber Kristiansen, Patrick Bahr
license: BSD-3-Clause
license-file: LICENSE
build-type: Simple
extra-source-files:
README.md
CHANGELOG.md
source-repository head
type: git
location: https://github.com/pa-ba/PropRatt
library
exposed-modules:
PropRatt
PropRatt.Arbitrary
PropRatt.Core
PropRatt.HList
PropRatt.LTL
PropRatt.Signal
other-modules:
PropRatt.Utils
PropRatt.Value
hs-source-dirs:
src
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
build-depends:
AsyncRattus >= 0.2 && < 0.3
, QuickCheck > 2.10 && < 3
, base >=4.7 && <5
, containers >=0.6.5 && < 0.8
default-language: Haskell2010
executable main-example
main-is: Main.hs
hs-source-dirs:
examples/main
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends:
AsyncRattus
, PropRatt
, QuickCheck
, base
, containers
default-language: Haskell2010
executable timer-example
main-is: Timer.hs
hs-source-dirs:
examples/timer
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends:
AsyncRattus
, PropRatt
, QuickCheck
, base
, containers
default-language: Haskell2010
test-suite PropRatt-test
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs:
test
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends:
AsyncRattus
, PropRatt
, QuickCheck
, base >=4.7 && <5
, containers
default-language: Haskell2010