streamly-core: Streaming, parsers, arrays, serialization and more

[ array, bsd3, dataflow, library, list, logic, non-determinism, parsing, pipes, streaming, streamly, time ] [ Propose Tags ] [ Report a vulnerability ]

For upgrading to streamly-0.9.0+ please read the Streamly-0.9.0 upgrade guide.

Streamly is a high-performance, beginner-friendly standard library for Haskell. It unifies streaming with list transformers and logic programming; unifies streaming with concurrency and reactive programming; unifies arrays with ring arrays, text, bytestring and vector use cases; unifies arrays with builders and binary serialization; generalizes parsers to any input type and unifies attoparsec, parsec use cases with better performance; provides streaming fileIO — all with a clean, consistent, well-integrated and streaming enabled API.

Streams are designed to have a list like interface — no steep learning curve, no complex types. Streamly is designed to build general purpose applications in a truly functional manner, from simple hello-world to advanced high-performance systems. The design emphasizes simplicity, modularity, and code reuse with minimal building blocks. Performance is on par with C, tuning is easy, and it’s hard to get it wrong.

Streamly is serial by default, with seamless declarative concurrency that scales automatically when needed. It provides prompt and safe resource management, works well with other streaming libraries as well as core libraries like bytestring and text, and is backed by solid documentation.

streamly-core is a Haskell standard library built on top of base and GHC boot libraries only. Stream processing abstractions include streams, scans, folds, parsers; and console IO, file IO; text processing. Array abstractions include pinned, unpinned, mutable, immutable, boxed and unboxed arrays, and ring arrays. Builders, binary serialization, and deserialization are built-in features of arrays.

This package provides a high-performance, unified and ergonomic alternative to many disparate packages, such as streaming, pipes, conduit, list-t, logict, foldl, attoparsec, array, primitive, vector, vector-algorithms, binary, cereal, store, bytestring, text, stringsearch, interpolate, filepath, and path.

Performant. Unified. Modular. Powerful. Simple.

Learn more at the streamly website.

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
debug

Debug build with asserts enabled

Disabled
internal-dev

DO NOT USE, ONLY FOR INTERNAL USE.

Disabled
has-llvm

Use llvm backend for code generation

Disabled
opt

off=GHC default, on=-O2

Enabled
limit-build-mem

Limits memory when building

Disabled
internal-use-unliftio

DO NOT USE, ONLY FOR INTERNAL USE.

Disabled
use-unfolds

Use unfolds for generation everywhere

Disabled
use-folds

Use folds for elimination everywhere

Disabled
force-lstat-readdir

Use lstat instead of checking for dtype in ReadDir

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0
Change log Changelog.md
Dependencies base (>=4.12 && <4.22), containers (>=0.6.0 && <0.8), exceptions (>=0.8.0 && <0.11), filepath (>=1.4.2 && <1.6), fusion-plugin-types (>=0.1 && <0.2), ghc-bignum (>=1.0 && <2), ghc-prim (>=0.5.3 && <0.14), heaps (>=0.3 && <0.5), integer-gmp (>=1.0 && <1.2), monad-control (>=1.0 && <1.1), template-haskell (>=2.14 && <2.24), transformers (>=0.5.5 && <0.7), Win32 (>=2.6 && <2.14) [details]
Tested with ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.8, ghc ==9.4.7, ghc ==9.6.3, ghc ==9.8.1, ghc ==9.10.1, ghc ==9.12.1
License BSD-3-Clause
Copyright 2017 Composewell Technologies
Author Composewell Technologies
Maintainer streamly@composewell.com
Category Streamly, Streaming, Dataflow, Pipes, List, Logic, Non-determinism, Parsing, Array, Time
Home page https://streamly.composewell.com
Bug tracker https://github.com/composewell/streamly/issues
Source repo head: git clone https://github.com/composewell/streamly
Uploaded by adithyaov at 2025-09-03T13:34:09Z
Distributions LTSHaskell:0.2.3, NixOS:0.2.3, Stackage:0.2.3
Reverse Dependencies 17 direct, 23 indirect [details]
Downloads 1499 total (27 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2025-09-03 [all 1 reports]