New Features
Polymorphic Labels
(@paf31)
A new RowCons
constraint has been added to Prim
. RowCons
is a 4-way relation between
- Symbols
- Types
- Input rows
- Output rows
which appends a new label (1) with the specified type (2) onto the front of the input row (3), to generate a new output row (4). The constraint can also be run backwards to subtract a label from an output row.
This allows us to quantify types over labels appearing at the front of a row type, by quantifying over the corresponding symbol/type pair. This gives us a limited form of polymorphic labels which enables things like writing a single lens for any record accessor.
Enhancements
- Use XDG Base Directory Specification for the location of the
psci_history
file (@legrostdg) - Collect more information for classes and synonyms in
purs ide
(@kritzcreek)
Bug Fixes
- Desugar pattern guards after type checking, to avoid an issue with the exhaustivity checker (@alexbiehl)
Other
- A new PSCi evaluation test suite was added (@noraesae)
- Use
hpack
to generate the.cabal
file (@kritzcreek)