streamly

Streaming, dataflow programming and declarative concurrency

Streamly comprises two packages, the <https://hackage.haskell.org/package/streamly-core streamly-core> package provides functionality that depends only on boot libraries, and the <https://hackage.haskell.org/package/streamly streamly> package provides additional functionality like concurrency, time, lifted exceptions, and networking. For unified documentation visit <https://streamly.composewell.com the streamly website>. Streamly provides unified, modular building blocks to build high-performance, concurrent, scalable applications in Haskell. Stream fusion optimizations in streamly enable exceptional modularity with high performance comparable to C. Streamly complements the Haskell <https://hackage.haskell.org/package/base base> package, supplying the missing functionality to quickly build general-purpose applications in Haskell. For high-level functionality built over streamly like streaming system processes, shell programming, GNU coreutils, statistics, and compression libraries please see the <https://streamly.composewell.com/ecosystem.html streamly ecosystem packages>. Performance with modularity: * Performance on par with C (<https://github.com/composewell/streaming-benchmarks Benchmarks>) * API close to standard Haskell lists (<https://github.com/composewell/streamly-examples Examples>) * Declarative concurrency with automatic scaling * Filesystem, fsnotify, network, and Unicode support included * More functionality is provided via many (<https://streamly.composewell.com/ecosystem.html ecosystem packages>) Unified and powerful abstractions: * Unifies streams, arrays, folds, and parsers * Unifies @Data.List@, @list-t@, and @logict@ with streaming * Unifies concurrency with standard streaming abstractions * Unifies reactive, time-domain programming with streaming * Interworks with other streaming libraries