packages feed

prairie-0.1.1.0: ChangeLog.md

# Changelog for prairie

## 0.1.1.0

- [#24](https://github.com/parsonsmatt/prairie/pull/24)
    - Introduce `sequenceRecordA`, for monadic tabulation of values, using `Distributed`.
- [#29](https://github.com/parsonsmatt/prairie/pull/29)
    - Bump `template-haskell` bound to 2.25

## 0.1.0.0

- [#22](https://github.com/parsonsmatt/prairie/pull/22)
    - Don't emit unused type variables
- [#20](https://github.com/parsonsmatt/prairie/pull/20)
    - Add `tabulateRecordApply` which is like `tabulateRecordA` but allows you to use non-Applicaive effects.
    - `Prairie.Fold`: `foldMapRecord` now works with any `Semigroup` instead of any `Monoid`, allowing you to fold into a `NonEmpty` list.
    - `Prairie.Traverse`:
        - `traverseRecord_` introduced as a slightly more efficient form of `void . traverseRecord f`.
        - `traverseFields` and `traverseFields_` introduced to only operate on fields, not requiring a whole record.
        - `traverseFieldsWithDict` (and `_` suffix variant) introduced to operate on fields with a constraint available.
- [#5](https://github.com/parsonsmatt/prairie/pull/5), [#21](https://github.com/parsonsmatt/prairie/pull/21)
    - The `Prairie.Distributed` module is made available.
      This allows you to define records that are constructed on a per-field basis in some effect type.
- [#23](https://github.com/parsonsmatt/prairie/pull/23)
    - Generated code is no longer ambiguous or faulty in the case of `NoFieldSelectors` or `DuplicateRecordFields`.
    - `mkRecord` now requires `TypeApplications` to compile.

## 0.0.4.1

- [#18](https://github.com/parsonsmatt/prairie/pull/18)
    - Drop `lens` dependency

## 0.0.4.0

- [#13](https://github.com/parsonsmatt/prairie/pull/13)
    - Introduce `Prairie.Semigroup`, allowing you to combine two records by semigroup-appending their fields together.
    - Introduce `Prairie.Zip`, allowing you to combine two records by specifying how to combine their fields. This fuels `Prairie.Semigroup`.
    - Introduce `Prairie.Monoid`, allowing you to make an `emptyRecord` with `mempty` at each field.
    - Introduce `Prairie.AsRecord`, allowing you to derive instances for records based on their `Record` and `FieldDict` instances.

## 0.0.3.0

- [#8](https://github.com/parsonsmatt/prairie/pull/8)
    - The `Prairie.Fold` module is introduced, allowing you to fold records.
    - The `Prairie.Traverse` module is introduced, allowing you to traverse over records.

## 0.0.2.1

- [#6](https://github.com/parsonsmatt/prairie/pull/6)
    - Bump upper bound for `TemplateHaskell`, supporting up to GHC 9.8
    - Fix string literals in docs that were quoted as module names

## 0.0.2.0

- [#2](https://github.com/parsonsmatt/prairie/pull/2)
    - Add `tabulateRecordA` to `Record` class. `tabulate` and `allFields` are now normal functions.
    - Provide a default implementation of `recordFieldLabel` for `Show`able fields.

## 0.0.1.1

* [#4](https://github.com/parsonsmatt/prairie/pull/4)
    * Compatibility with `template-haskell-2.18` and above