vinyl v0.10.0 Release Notes

Release Date: 2018-08-28 // over 5 years ago
    • 🔄 Changed the types of Data.Vinyl.CoRec.onCoRec and Data.Vinyl.CoRec.onField. This was pushing through the changes to drop the use of Proxy arguments, relying instead on TypeApplications. Also added onCoRec1 and onField to work with functions relying on a single type class.

    • ⚡️ Faster asA and asA'. These implementations utilize unsafeCoerce in their implementations after we have performed a runtime check that proves (to us) that the types match up. The old implementations are still available as asASafe and asA'Safe. While both implementations can run in constant time if the compiler optimizes everything successfully, the faster variants are a bit more than 3x faster in a trivial benchmark.

    • ➕ Add a Generic instance for Rec and common functors.

    • ➕ Add a variety of ToJSON implementations as a test case. One or all of these should probably exist as a separate package to avoid vinyl depending on aeson, but their content may be of interest.