Package0.11.1StreamlyConcurrencyStreamingDataflowPipesReactivityListLogicNon-determinismParsingArrayTimeUnicodeFilesystemNetwork
streamly
Streaming data pipelines with declarative concurrency
- Version0.11.1
- CategoryStreamly, Concurrency, Streaming, Dataflow, Pipes, Reactivity, List, Logic, Non-determinism, Parsing, Array, Time, Unicode, Filesystem, Network
- LicenceBSD-3-Clause
- AuthorComposewell Technologies
- Maintainerstreamly@composewell.com
- Homepagestreamly.composewell.com
- Pinned byhackage streamly 0.11.1
- Sourcehackage.haskell.org/package/streamly-0.11.1
Modules
36 modules- Streamly.Data.Array.Foreign13This module provides immutable arrays in pinned memory (non GC memory)
- Streamly.Data.Fold.Prelude122All Fold related combinators including the streamly-core
- Streamly.Data.Fold.Tee2
- Streamly.Data.Scanl.Prelude71All Scan related combinators including the streamly-core
- Streamly.Data.Stream.MkType11Template Haskell macros to create custom newtype wrappers for the Stream
- Streamly.Data.Stream.Prelude165For upgrading to streamly-0.9.0+ please read the
- Streamly.Network.Inet.TCP10Combinators to build Inet/IPv4/TCP clients and servers. import qualified Streamly.Network.Inet.TCP as TCPExamples Following is a short ex…
- Streamly.Network.Socket24This module provides socket based streaming APIs to to receive connections
- Streamly.Prelude199To run examples in this module: import qualified Streamly.Data.Fold as Fold import qualified Streamly.Prelude as StreamWe will add some m…
Internal modules · 27
- Streamly.Internal.Control.Concurrent7
- Streamly.Internal.Control.ForkLifted4
- Streamly.Internal.Data.Atomics4
- Streamly.Internal.Data.Channel41This module contains operations that are common for Stream and Fold
- Streamly.Internal.Data.Cont1Continuation style utilities.
- Streamly.Internal.Data.Fold.Prelude32
- Streamly.Internal.Data.IOFinalizer.Lifted4A value associated with an IO action that is automatically called whenever
- Streamly.Internal.Data.IsMap.HashMap0Adds an orphan HashMap instance for the IsMap type class from streamly-core
- Streamly.Internal.Data.SVar91
- Streamly.Internal.Data.Scanl.Prelude22
- Streamly.Internal.Data.Stream.Ahead4To run examples in this module: import qualified Streamly.Prelude as Stream import Control.Concurrent (threadDelay) :{
- Streamly.Internal.Data.Stream.Async10To run examples in this module: import qualified Streamly.Prelude as Stream import Control.Concurrent (threadDelay) :{
- Streamly.Internal.Data.Stream.IsStream450This is an internal module which is a superset of the corresponding released
- Streamly.Internal.Data.Stream.MkType7
- Streamly.Internal.Data.Stream.Parallel11To run examples in this module: import qualified Streamly.Prelude as Stream import Control.Concurrent (threadDelay) :{
- Streamly.Internal.Data.Stream.Prelude125
- Streamly.Internal.Data.Stream.SVar9
- Streamly.Internal.Data.Stream.Serial19To run examples in this module: import qualified Streamly.Prelude as Stream
- Streamly.Internal.Data.Stream.Zip7To run examples in this module: import qualified Streamly.Prelude as Stream import qualified Streamly.Internal.Data.Stream as D import qu…
- Streamly.Internal.Data.Stream.ZipAsync5To run examples in this module: import qualified Streamly.Prelude as Stream
- Streamly.Internal.Data.Unfold.Prelude6
- Streamly.Internal.FileSystem.Event9File system event notification API portable across Linux, macOS and Windows
- Streamly.Internal.FileSystem.Event.Linux52Overview Use watchPaths with a list of file system paths you want to watch as
- Streamly.Internal.Network.Inet.TCP25Combinators to build Inet/TCP clients and servers.
- Streamly.Internal.Network.Socket29
- Streamly.Internal.Unicode.Char3
- Streamly.Internal.Unicode.Utf84
Description
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.
The streamly package is built on top of the streamly-core package and offers high-level capabilities such as concurrency, reactive programming, time-related combinators, lifted exceptions, and networking. It provides streaming with concurrency, and is a more powerful, higher-level and more expressive alternative to the async package.
Performant. Unified. Modular. Powerful. Simple.
Learn more at the streamly website.
Depends on
18 packages- atomic-primops-0.8.8in this set
- base-4.22.0.0with GHC
- containers-0.8with GHC
- deepseq-1.5.1.0with GHC
- directory-1.3.10.0with GHC
- exceptions-0.10.11with GHC
- fusion-plugin-types-0.1.0in this set
- hashable-1.5.1.0in this set
- heaps-0.4.1in this set
- lockfree-queue-0.2.4in this set
- monad-control-1.0.3.1in this set
- mtl-2.3.1with GHC
- network-3.2.9.0in this set
- streamly-core-0.3.1in this set
- template-haskell-2.24.0.0with GHC
- transformers-0.6.1.2with GHC
- unicode-data-0.9.0in this set
- unordered-containers-0.2.21in this set
Used by in this set · 0
Nothing in this set depends on it.