packages feed

polysemy-check-0.8.1.0: ChangeLog.md

# Changelog for polysemy-check

## v0.8.1.0 (2021-10-21)

- Added a new function, `prepropAllCommutative` which ensures every effect
    commutes with every other one.

## v0.8.0.0 (2021-10-21)

- `prepropCommutative` now accepts arbitrary rows to draw actions from, rather
    than single effects.

## v0.7.0.0 (2021-10-16)

- Removed the `x` type variable from `prepropEquivalent`, since it is safe to
    instantiate arbitrarily, and leads to aggressive type errors if forgotten.

## v0.6.0.0 (2021-10-16)

- Changed the frequencies of `Sem`'s `Arbitrary` instance, to create more
    interesting programs.
- Removed the program generator parameter of `prepropEquivalent`. It now just
    uses the `Arbitrary` instance for `Sem`.
- Added some new examples to the test suite.

## v0.5.0.0 (2021-10-14)

- Flattened the module structure of `Polysemy.Check.Arbitrary`.
- Fixed a bug where `arbitraryActionFromRowOfType` would return bottom.
- Added an `Arbitrary` instance for `Sem r a`.
- Added tests to prove all generators have a uniform distribution for actions.
- `prepropLaw` now prints the actions it ran before and after your test.
- Changed the orphan `Show` instances for standard Polysemy effects to more
    easily be used for testing coverage.
- Added a `Show` instance for `SomeEffOfType`.
- (Internal) Removed the `GArbitraryKTerm` class

## v0.4.0.0 (2021-10-12)

- `GArbitraryK` now supports actions that contain existential types.
- (Internal) Aggressively rewrote the `GArbitraryK` typeclass to make better use
    of `kind-generics`.

## v0.3.0.0 (2021-10-09)

- `prepropLaw` now synthesizes a monadic prelude and postlude to your laws, to
    ensure they hold under every context. The type has changed as a result.
- `prepropEquivalent` now allows you to produce a functor `f` result, so you can
    check equivalence of the underlying state as well.

## v0.2.0.0 (2021-10-09)

- Updated the signature of `prepropEquivalent` to take a `Proxy r`. This lets
    you bind the `r` type variable, and use it as an argument to
    `arbitraryAction` et al.

## v0.1.0.0 (2021-10-08)

- Released!

## Unreleased changes