Changelog for row-types-0.4.0.0
0.4.0.0 [2020-05-20]
- Renamed
toNative
totoNativeGeneral
andtoNativeExact
totoNative
for records and likewise forfromNative
for variants. - Added a type family
NativeRow
which, when given any generic type that can go throughfromNative
, is equal to the row-type of the resulting record/variant. Note thatNativeRow
is defined separately (and differently!) for records vs variants, so it is exported at theData.Row.Records
/Variants
level but not atData.Row
. - Added
coerceRec
andcoerceVar
to coerce the row-types of records and variants respectively. - Exposed
BiForall
inData.Row
,Data.Row.Records
, andData.Row.Variants
- (Internal) Rewrote internal
Generic
code to use an associated type family instead of a standalone one.
Note: GHC 8.2 and earlier are no longer supported in row-types 0.4.0.0.
0.3.1.0 [2020-01-29]
- Added "native" classes as exports for
Records
andVariants
(e.g.,ToNative
,FromNative
) - Added more example hs files.
0.3.0.0 [2019-05-28]
- Added
HasField
andAsConstructor
instances (from generic-lens) forRec
andVar
respectively. - Added record-overwrite function
.//
. - Added
Generic
instances for Rec and Var. - Added mapHas entailment connecting
Map f r .! l
tor .! l
. - Changed
Forall2
toBiForall
.- Added
BiConstraint
type class for use withBiForall
.
- Added
- Added
Ap
type family that functions asap
over rows using zipping.- Added
mapF
to map a function over a record with anAp
row.
- Added
- Added
toDynamicMap
andfromDynamicMap
as functions to convert betweenRec
s andHashMap Text Dynamic
s. - Added
toNativeExact
to convert aRec
to a native Haskell type without losing any fields. - Added
toNative
,fromNative
, andfromNativeExact
forVar
s. - Added
unSingleton
forVar
s.- Removed
unSingleton
fromData.Row
export list.
- Removed
- Tightened the type signatures of
focus
(for bothRec
andVar
) to improve type inference when usingfocus
in lens-like situations.
0.2.3.1 [2018-07-11]
- Fix a bug in the
Show
instance forRec
.
0.2.3.0 [2018-07-02]
- Update the
Show
instance forRec
to render valid code. - Add
toNative
andfromNative
functions for records to easily convert between Haskell records and row-types records. - Make type families in
Data.Row.Internal
polykinded (thanks James Yu!)
0.2.1.0 [2018-03-20]
- Bug Fix: The type of
update
for bothRec
andVar
now enforce the newly inserted type is correct. - New: Add
restrict
andsplit
forVar
s.- Removed
restrict
fromData.Row
export list.
- Removed
- New: Added support for universally quantified rows:
mapForall
anduniqueMap
. - Added very simple test suite.
0.2.0.0 [2018-02-12]
- Initial Release