Composewell
Blog
Posts and announcements for all things Composewell, including new streamly releases, performance notes, and notes on general haskell topics.

Harendra Kumar 25 July 2024
Haskell streamly-0.10 with fast binary serialization

streamly-0.10.1 and streamly-core-0.2.2 have been available on Hackage for some time now. This announcement is long overdue. Combined documentation for both the packages can be found at the streamly documentation site.

Important features in this release are:

  • Fast binary serialization: See the Streamly.Data.MutByteArray module and the Serialize type class. Serialization, deserialization performance is similar to, and in some cases many times better than the “store” package. Conceptually, the Serialize type class works in the same way as store.

  • Serialization with field names: Binary serialization has an option to serialize the constructor tags and record field names as well so that reordering of fields does not affect serialization. Addition and deletion of fields can be detected and handled.

  • Unpinned arrays: Arrays are now unpinned by default and can be pinned when needed. The “Array” type can now represent pinned data like bytestrings, unpinned data like text and vector.

  • New module Streamly.Data.Fold.Prelude provides concurrency for folds.

We would like to thank Juspay Technologies for sponsoring the development of this release.

See the following docs for more details:

All rights reserved, Composewell Technologies