streamly: Streaming, dataflow programming and declarative concurrency
For upgrading to streamly-0.9.0+ please read the Streamly-0.9.0 upgrade guide.
Streamly comprises two packages, the streamly-core package provides functionality that depends only on boot libraries, and the streamly package provides additional functionality like concurrency, time, lifted exceptions, and networking. For unified documentation visit 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 base package, supplying additional functionality to quickly build general-purpose applications in Haskell. For high-level functionality built over streamly like streaming OS processes, shell programming, GNU coreutils, statistics, and compression libraries please see the streamly ecosystem packages.
Performance with modularity:
Performance on par with C (Benchmarks)
API close to standard Haskell lists (Examples)
Declarative concurrency with automatic scaling
Filesystem, fsnotify, network, and Unicode support included
Fast binary serialization (with optional JSON like features)
More functionality is provided via many (ecosystem packages)
Unified and powerful abstractions:
Unifies streams, arrays, folds, and parsers
Unifies
Data.List
,list-t
, andlogict
with streamingUnifies concurrency with standard streaming abstractions
Unifies reactive, time-domain programming with streaming
Unifies binary serialization and unboxed arrays
Interworks with other streaming libraries
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Streamly
- Data
- Array
- Fold
- Streamly.Data.SmallArray
- Stream
- Internal
- Control
- Data
- Streamly.Internal.Data.Atomics
- Streamly.Internal.Data.Channel
- Streamly.Internal.Data.Cont
- Fold
- IOFinalizer
- IsMap
- Streamly.Internal.Data.SVar
- Streamly.Internal.Data.SmallArray
- Stream
- Streamly.Internal.Data.Stream.Ahead
- Streamly.Internal.Data.Stream.Async
- Streamly.Internal.Data.Stream.IsStream
- Streamly.Internal.Data.Stream.MkType
- Streamly.Internal.Data.Stream.Parallel
- Streamly.Internal.Data.Stream.Prelude
- Streamly.Internal.Data.Stream.SVar
- Streamly.Internal.Data.Stream.Serial
- Streamly.Internal.Data.Stream.Zip
- Streamly.Internal.Data.Stream.ZipAsync
- Unfold
- FileSystem
- Streamly.Internal.FileSystem.Event
- Streamly.Internal.FileSystem.Event.Darwin
- Streamly.Internal.FileSystem.Event.Linux
- Streamly.Internal.FileSystem.Event.Windows
- Streamly.Internal.FileSystem.Event
- Network
- Unicode
- Network
- Streamly.Prelude
- Data
Flags
Manual Flags
Name | Description | Default |
---|---|---|
fusion-plugin | Use fusion plugin for benchmarks and executables | Disabled |
inspection | Enable inspection testing | Disabled |
debug | Debug build with asserts enabled | Disabled |
dev | Development build | 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 |
use-unliftio | Use unliftio-core instead of monad-control | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- streamly-0.10.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.3.1, 0.7.3.2, 0.8.0, 0.8.1, 0.8.1.1, 0.8.2, 0.8.3, 0.9.0, 0.10.0, 0.10.1 |
---|---|
Change log | CHANGELOG.md |
Dependencies | atomic-primops (>=0.8 && <0.9), base (>=4.12 && <4.20), containers (>=0.6.0 && <0.8), deepseq (>=1.4.4 && <1.6), directory (>=1.2.2 && <1.4), exceptions (>=0.8.0 && <0.11), hashable (>=1.3 && <1.5), heaps (>=0.3 && <0.5), lockfree-queue (>=0.2.4 && <0.3), monad-control (>=1.0 && <1.1), mtl (>=2.2.2 && <2.4), network (>=2.6 && <3.2), streamly-core (>=0.2.0 && <0.2.2), template-haskell (>=2.14 && <2.22), transformers (>=0.5.5 && <0.7), transformers-base (>=0.4 && <0.5), unicode-data (>=0.1 && <0.6), unordered-containers (>=0.2 && <0.3), Win32 (>=2.6 && <2.14) [details] |
License | BSD-3-Clause |
Copyright | 2017 Composewell Technologies |
Author | Composewell Technologies |
Maintainer | streamly@composewell.com |
Revised | Revision 2 made by adithyaov at 2024-07-02T13:02:06Z |
Category | Streamly, Concurrency, Streaming, Dataflow, Pipes, Reactivity, List, Logic, Non-determinism, Parsing, Array, Time, Unicode, Filesystem, Network |
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 harendra at 2023-11-29T15:53:35Z |
Distributions | LTSHaskell:0.10.1, NixOS:0.10.1, Stackage:0.10.1 |
Reverse Dependencies | 34 direct, 4 indirect [details] |
Downloads | 18150 total (226 in the last 30 days) |
Rating | 2.5 (votes: 6) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |