BSD-3-Clause licensed by Matt Parsons
This version can be pinned in stack with:prairie-0.1.0.0@sha256:e816c9632dcbea23d1a7613a00b04678b9f5ebeda249d2a5445420f034a3084d,2256
Module documentation for 0.1.0.0
prairie

A library for first class record fields.
Changelog for prairie
0.1.0.0
- #22
- Don’t emit unused type variables
- #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, #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
- 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
0.0.4.0
- #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
- 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
- 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
- Add
tabulateRecordA to Record class. tabulate and allFields are now normal functions.
- Provide a default implementation of
recordFieldLabel for Showable fields.
0.0.1.1
- #4
- Compatibility with
template-haskell-2.18 and above