From fd629890bb6d04004c6a6283d5682bdd37d94b9a Mon Sep 17 00:00:00 2001 From: Sandy Maguire Date: Fri, 3 Dec 2021 22:33:36 -0800 Subject: [PATCH] Release v0.9.0.0 --- ChangeLog.md | 6 ++++++ package.yaml | 2 +- polysemy-check.cabal | 2 +- src/Polysemy/Check.hs | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 06678ed..df83ed8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,11 @@ # Changelog for polysemy-check +## v0.9.0.0 (2021-12-03) + +- `prepropLaw` now generates a new `Law` record, allowing for better control + over the program prelude and postludes +- `prepropLaw` now takes a labeler, for running QuickCheck coverage + ## v0.8.1.0 (2021-10-21) - Added a new function, `prepropAllCommutative` which ensures every effect diff --git a/package.yaml b/package.yaml index 9bc0a7b..d9418e7 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: polysemy-check -version: 0.8.1.0 +version: 0.9.0.0 github: "polysemy-research/polysemy-check" license: BSD3 author: "Sandy Maguire" diff --git a/polysemy-check.cabal b/polysemy-check.cabal index 858b7c1..6800422 100644 --- a/polysemy-check.cabal +++ b/polysemy-check.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: polysemy-check -version: 0.8.1.0 +version: 0.9.0.0 synopsis: QuickCheck for Polysemy description: Please see the README on GitHub at category: Polysemy diff --git a/src/Polysemy/Check.hs b/src/Polysemy/Check.hs index c5ac274..fb2b66b 100644 --- a/src/Polysemy/Check.hs +++ b/src/Polysemy/Check.hs @@ -131,6 +131,8 @@ instance (ArbitraryEff r r, ArbitraryEff es r, ArbitraryEff '[e] r, AllCommutati ------------------------------------------------------------------------------ -- | Data structure containing programs that should be equal, and under which -- circumstances. +-- +-- @since 0.9.0.0 data Law r z a = Law { lawLhs :: Sem r a -- ^ 'lawLhs' and 'lawRhs' are being asserted as equal. @@ -148,6 +150,8 @@ data Law r z a = Law ------------------------------------------------------------------------------ -- | Like 'Law', but for the common case when you don't need a custom prelude -- or postlude. +-- +-- @since 0.9.0.0 simpleLaw :: Sem r a -> Sem r a -> Law r () a simpleLaw lhs rhs = Law lhs rhs [] [] @@ -230,6 +234,8 @@ maybeOneof res = do ------------------------------------------------------------------------------ -- | Label an example with its data constructor. +-- +-- @since 0.9.0.0 constructorLabel :: Data a => a -> String constructorLabel = showConstr . toConstr