Package0.2.2StreamlyStreamingDataflowPipesListLogicNon-determinismParsingArrayTime
streamly-core
Streaming, parsers, arrays, serialization and more
- Version0.2.2
- CategoryStreamly, Streaming, Dataflow, Pipes, List, Logic, Non-determinism, Parsing, Array, Time
- LicenceBSD-3-Clause
- AuthorComposewell Technologies
- Maintainerstreamly@composewell.com
- Homepagestreamly.composewell.com
- Pinned byhackage streamly-core 0.2.2
- Sourcehackage.haskell.org/package/streamly-core-0.2.2
Modules
64 modules- Streamly.Console.Stdio6Combinators to work with standard input, output and error streams. See also: Streamly.Internal.Console.Stdio
- Streamly.Data.Array24Unboxed immutable arrays with streaming interfaces. Please refer to Streamly.Internal.Data.Array for functions that have not
- Streamly.Data.Array.Generic13Unconstrained version of Streamly.Data.Array module. See the Streamly.Data.Array module for documentation.
- Streamly.Data.Fold101Fast, composable stream consumers with ability to terminate, supporting
- Streamly.Data.MutArray36This module provides a mutable version of Streamly.Data.Array. The
- Streamly.Data.MutArray.Generic21Unconstrained version of Streamly.Data.MutArray module. See the Streamly.Data.MutArray module for documentation.
- Streamly.Data.MutByteArray15A low level byte Array type MutByteArray, along with type classes Unbox
- Streamly.Data.Parser32Parsers are stream consumers like folds with the following differences: folds cannot fail but parsers can fail and backtrack. folds can …
- Streamly.Data.ParserK9See the general notes about parsing in the Streamly.Data.Parser module.
- Streamly.Data.Stream90Streams represented as state machines, that fuse together when composed
- Streamly.Data.StreamK33Streams represented as chains of functions calls using Continuation Passing
- Streamly.Data.Unfold28Fast, composable stream producers with ability to terminate, supporting
- Streamly.FileSystem.Dir2Warning: The API of this module is subject to change in future releases.
- Streamly.FileSystem.File7Warning: The API of this module is subject to change in future releases.
- Streamly.FileSystem.Handle17import qualified Streamly.FileSystem.Handle as HandleRead and write byte streams and array streams to and from file handles
- Streamly.Unicode.Parser29To parse a text input, use the decode routines from
- Streamly.Unicode.Stream9Processing Unicode Strings A Char stream is the canonical representation to process Unicode strings.
- Streamly.Unicode.String1Convenient template Haskell quasiquoters to format strings. The str quasiquoter retains newlines in the string when the line is split
Internal modules · 46
- Streamly.Internal.BaseCompat2Compatibility functions for "base" package.
- Streamly.Internal.Console.Stdio15
- Streamly.Internal.Control.Exception2Additional Control.Exception utilities.
- Streamly.Internal.Control.ForkIO3
- Streamly.Internal.Control.Monad1Additional Control.Monad utilities.
- Streamly.Internal.Data.Array124
- Streamly.Internal.Data.Array.Generic28
- Streamly.Internal.Data.Array.Stream25Combinators to efficiently manipulate streams of immutable arrays. We can either push these in the MutArray module with a "chunks" prefix or
- Streamly.Internal.Data.Binary.Parser25Decode Haskell data types from byte streams. It would be inefficient to use this to compose parsers for general algebraic
- Streamly.Internal.Data.Binary.Stream25Encode Haskell data types to byte streams. The primary purpose of this module is to serialize primitive Haskell types
- Streamly.Internal.Data.Builder1
- Streamly.Internal.Data.Either.Strict5| Strict data types to be used as accumulator for strict left folds and
- Streamly.Internal.Data.Fold209See Streamly.Data.Fold for an overview and
- Streamly.Internal.Data.Fold.Chunked11Use Streamly.Data.Parser instead. Fold a stream of foreign arrays. Fold m a b in this module works
- Streamly.Internal.Data.IOFinalizer4A value associated with an IO action that is automatically called whenever
- Streamly.Internal.Data.IsMap1
- Streamly.Internal.Data.Maybe.Strict4| Strict data types to be used as accumulator for strict left folds and
- Streamly.Internal.Data.MutArray183
- Streamly.Internal.Data.MutArray.Generic46
- Streamly.Internal.Data.MutArray.Stream14Combinators to efficiently manipulate streams of mutable arrays. We can either push these in the MutArray module with a "chunks" prefix or
- Streamly.Internal.Data.MutByteArray89
- Streamly.Internal.Data.Parser101
- Streamly.Internal.Data.ParserK10
- Streamly.Internal.Data.Pipe8There are three fundamental types in streamly. They are streams
- Streamly.Internal.Data.Producer19A Producer is an Unfold with an extract function added to extract
- Streamly.Internal.Data.Refold.Type9The Fold type embeds a default initial value, therefore, it is like a
- Streamly.Internal.Data.Ring33A ring array is a circular mutable array.
- Streamly.Internal.Data.Ring.Generic8
- Streamly.Internal.Data.SVar.Type32
- Streamly.Internal.Data.Stream356Direct style re-implementation of CPS stream in
- Streamly.Internal.Data.Stream.StreamD0
- Streamly.Internal.Data.StreamK146
- Streamly.Internal.Data.Time.Clock11
- Streamly.Internal.Data.Time.TimeSpec1
- Streamly.Internal.Data.Time.Units21
- Streamly.Internal.Data.Tuple.Strict4| Strict data types to be used as accumulator for strict left folds and
- Streamly.Internal.Data.Unfold100
- Streamly.Internal.FileSystem.Dir14
- Streamly.Internal.FileSystem.File28Read and write streams and arrays to and from files specified by their paths
- Streamly.Internal.FileSystem.Handle28The fundamental singleton IO APIs are getChunk and putChunk and the
- Streamly.Internal.FileSystem.Path36Well typed and flexible file systems paths, preserving the OS and filesystem
- Streamly.Internal.System.IO4
- Streamly.Internal.Unicode.Array4
- Streamly.Internal.Unicode.Parser32To parse a text input, use the decode routines from
- Streamly.Internal.Unicode.Stream44
- Streamly.Internal.Unicode.String1Convenient template Haskell quasiquoters to format strings.
Description
For upgrading to streamly-0.9.0+ please read the Streamly-0.9.0 upgrade guide.
Streamly is a standard library for Haskell that focuses on C-like performance, modular combinators, and streaming data flow model. Streamly consists of two packages: "streamly-core" and "streamly". streamly-core provides basic features, and depends only on GHC boot libraries (see note below), while streamly provides higher-level features like concurrency, time, lifted exceptions, and networking. For documentation, visit the Streamly website.
The streamly-core package provides the following functionality:
Streams as composable producers of a sequence of values. Streams provide all the functionality provided by Haskell lists but in an effectful, streaming fashion with better performance. Streams provide ListT and logic programming functionality as well. Folds as composable stream consumers that reduce the streams to a single value or reduce segments of streams to transform the stream. Parsers as more powerful, composable stream consumers supporting standard parser combinators with backtracking but in a streaming fashion. Arrays with streaming interfaces providing high performance, modularity, and concise interface as all streaming operations can be performed on arrays. Arrays can be immutable or mutable, unboxed or boxed, pinned or unpinned. Arrays generalize the functionality provided by bytestring and text packages. Interoperability with bytestring and text is provided via separate packages. Arrays and folds provide natural builder functionality so there are no separate builder modules. High performance binary serialization with configurable JSON like features. Streaming combinators for unicode text processing, providing functionality equivalent to the text package. String interpolation for convenient construction of strings. Streaming console IO (stdin/stdout) operations. Streaming file and directory IO operations.
This package covers some or all of the functionality covered by streaming, pipes, conduit, list-t, logic-t, foldl, attoparsec, array, primitive, vector, vector-algorithms, binary, cereal, store, bytestring, text, stringsearch, interpolate. Streamly provides a consistent, concise, modular and performant interface for all this functionality.
Note: The dependencies "heaps" and "monad-control" are included in the package solely for backward compatibility, and will be removed in future versions.
Depends on
13 packages- base-4.20.2.0with GHC
- containers-0.7with GHC
- directory-1.3.8.5with GHC
- exceptions-0.10.9with GHC
- filepath-1.5.4.0with GHC
- fusion-plugin-types-0.1.0in this set
- ghc-bignum-1.3with GHC
- ghc-prim-0.12.0with GHC
- heaps-0.4.1in this set
- monad-control-1.0.3.1in this set
- template-haskell-2.22.0.0with GHC
- transformers-0.6.1.1with GHC
- unix-2.8.7.0with GHC