diff --git a/CHANGELOG.md b/CHANGELOG.md index 54d7d9da..8fc631ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## Version 1.2.1 (unreleased) +* Add `instance Applicative Concrete` ([#493][493], [@endgame][endgame]) * Export `Hedgehog.Internal.Seed.seed` ([#477][477], [@sol][sol]) ## Version 1.2 (2022-08-28) @@ -271,6 +272,8 @@ https://github.com/jhrcek +[493]: + https://github.com/hedgehogqa/haskell-hedgehog/pull/493 [462]: https://github.com/hedgehogqa/haskell-hedgehog/pull/462 [461]: diff --git a/hedgehog/src/Hedgehog/Internal/State.hs b/hedgehog/src/Hedgehog/Internal/State.hs index 5471ca44..0e7f31df 100644 --- a/hedgehog/src/Hedgehog/Internal/State.hs +++ b/hedgehog/src/Hedgehog/Internal/State.hs @@ -135,6 +135,11 @@ newtype Concrete a where Concrete :: a -> Concrete a deriving (Eq, Ord, Functor, Foldable, Traversable) +-- | @since 1.2.1 +instance Applicative Concrete where + pure = Concrete + Concrete f <*> Concrete x = Concrete $ f x + instance Show a => Show (Concrete a) where showsPrec = showsPrec1