Skip to content

Instantly share code, notes, and snippets.

@adithyaov
Created May 17, 2023 20:00
Show Gist options
  • Save adithyaov/f992c935c8c297ad265576d406c01cd4 to your computer and use it in GitHub Desktop.
Save adithyaov/f992c935c8c297ad265576d406c01cd4 to your computer and use it in GitHub Desktop.

πŸ“’ Announcing streamly 0.9.0! πŸŽ‰

Streamly, the powerful streaming library for Haskell, has just released version 0.9.0, packed with exciting new features and improvements. With Haskell's strong type safety and C-program-like performance capabilities, streamly continues to provide a seamless and efficient development experience.

Here's what you can expect from streamly 0.9.0:

πŸ”’ Monomorphic Stream Type: In this release, we have introduced a monomorphic Stream type, replacing the polymorphic IsStream t type. This change enhances code clarity and simplifies usage.

⚑ Performance Improvements: We have removed the reliance on GHC rewrite rules, allowing for more power and transparency in the performance behavior. Now, as a programmer, you have greater control and visibility over performance-related aspects.

🧱 Flexible Building Blocks: Streamly remains committed to providing flexible and modular building blocks for your applications. The library embraces idiomatic functional programming, empowering you to write elegant and maintainable code.

πŸš€ Declarative Concurrency: Seamlessly execute parallel code with the fearless, declarative concurrency support offered by streamly. Take advantage of the explicit concurrent combinators with appropriate concurrency parameters for enhanced control and efficiency.

πŸ’Ό Ecosystem Libraries: To further streamline your development process, streamly comes bundled with a collection of ecosystem libraries. These libraries are designed to complement streamly, enabling fast and efficient development.

To make the transition smooth for our users, we have provided a comprehensive upgrading guide in the documentation. Please refer to the Upgrading Guide for detailed instructions on migrating from streamly 0.8.0 to 0.9.0.

Upgrade to streamly 0.9.0 today and unlock the full potential of streaming and concurrent programming in Haskell. Experience the performance, flexibility, and elegance that streamly brings to your projects.

Happy streaming with streamly! πŸ’ͺ

#Haskell #Streamly #FunctionalProgramming #Concurrency

@adithyaov
Copy link
Author

The following was the input:

Write an announcement post about haskell streamly 0.9.0 using the hints below:

General Features:
- Haskell's strong type safety.
- C-program-like performance capabilities.
- Flexible, modular building blocks.
- Idiomatic functional programming.
- Fearless, declarative concurrency for seamless parallel execution.
- A collection of ecosystem libraries for fast and efficient development.

Changes compared to streamly 0.8.0:
- Monomorphic `Stream` type instead of the polymorphic `IsStream t` type.
- Not relying on GHC rewrite rules.
- More power and transparency of the performance behavior to the programmer.
- Instead of using separate stream types for concurrent code, now you have to use explicit concurrent combinators with appropriate concurrency parameters.
- See https://hackage.haskell.org/package/streamly-0.9.0/docs/docs/User/ProjectRelated/Upgrading.md for the complete upgrading guide.

@adithyaov
Copy link
Author

  • Parsers are released
  • Splitting streamly to streamly-core
  • streamly-core gives most additional functionality and streamly gives concurrrency

@adithyaov
Copy link
Author

adithyaov commented May 18, 2023

πŸ“£ Announcement: Haskell Streamly 0.9.0 Release! πŸš€

We are excited to introduce Streamly 0.9.0, a major update that brings several important changes and improvements. Let's dive into the key highlights:

1️⃣ Package Split: Streamly has been split into two distinct packages, streamly and streamly-core. The streamly-core package now houses most of the functionality with a smaller footprint, while the streamly package provides all features related to concurrency.

2️⃣ Monomorphic Stream Type: We have transitioned from the polymorphic IsStream t type to a monomorphic Stream type. This change simplifies the codebase and enhances usability.

3️⃣ Performance Enhancements: Streamly 0.9.0 no longer relies on GHC rewrite rules. This alteration leads to increased power and transparency of the performance behavior for programmers.

4️⃣ Explicit Concurrent Combinators: Instead of using separate stream types for concurrent code, you are now required to use explicit concurrent combinators with appropriate concurrency parameters. This design improvement offers more control and flexibility in concurrent programming.

5️⃣ Parsers: We are thrilled to announce the release of parsers in Streamly 0.9.0. This addition expands the capabilities of Streamly, making it even more versatile and useful for parsing tasks.

Visit streamly.composewell.com for the latest documentation. A comprehensive guide on upgrading to Streamly 0.9.0 can be found here. We look forward to your feedback and contributions as we continue to improve and refine Streamly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment