overloaded-records v0.4.0.0 Release Notes

Release Date: 2016-04-01 // about 8 years ago
    • ๐Ÿ“‡ 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