Changelog for overloaded-records-0.4.1.0
ChangeLog / ReleaseNotes
Version 0.4.1.0
Version 0.4.0.0
- Renamed
SetField type class to ModifyField, it now contains following
methods (breaking change):
modifyField :: Proxy# l -> (a -> b) -> s -> t
setField :: Proxy# l -> s -> b -> t
fieldLens :: Functor f => Proxy# l -> (a -> f b) -> s -> f t
- Instances for tuples (i.e.
(a, b), (a, b, c), ...) and lists (i.e.
[a]). (new)
- Definitions from
Data.OverloadedRecords.TH were moved to
Data.OverloadedRecords.TH.Internal, so that API can be split in to stable
and unstable (internal) API. (change)
- Aliases
HasField' and ModifyField' that enforce s = t and a = b. This
is similar to definitions like Lens'. Simplified versions of methods and
functions are included using the same naming convention. (new)
Setter and Setter' changed to type aliases for Modifier type.
(breaking change)
- Introducing
Setting type alias for Modifier along with setting, which
is an alternative to set operation. (new)
setting :: Setting a s t b -> Proxy a -> b -> s -> t
- Changed order of arguments of functions
set and set' (breaking
change):
set :: Setter s t b -> b -> s -> t
set' :: Setter' s a -> a -> s -> s
- Introduced type family
R that can be used to define more compact type
signatures when mentioning multiple record fields in it. (new)
- Uploaded to Hackage:
http://hackage.haskell.org/package/overloaded-records-0.4.0.0
Version 0.3.0.0
- Fixed defaultMakeFieldName, which actually behaved correctly only in very few
cases. (bug fix)
- Added missing
HAVE_OVERLOADED_LABELS macro, that actually allows us to use
GHC's IsLabel on GHC >8. (bug fix)
- Exposing previously hidden
FromArrow and IsFieldAccessor. (change)
- Few simple unit tests. (new)
- Uploaded to Hackage:
http://hackage.haskell.org/package/overloaded-records-0.3.0.0
Version 0.2.0.0
- Function
overloadedRecords renamed to overloadedRecord. There is also new
overloadedRecords function, that behaves as overloadedRecord, but for
multiple types at once. (breaking change)
- It is now possible to customize overloadedRecord* family of functions with
custom getter and setter implementation. (new)
- Types and functions follow, hopefully, better naming conventions. (change)
- More low-level template haskell functions for those cases when it is
necessary to build your own higher-level ones, or when you need much more
control over the result. (new)
- Uploaded to Hackage:
http://hackage.haskell.org/package/overloaded-records-0.2.0.0
Version 0.1.0.0