@hackage streamly-core0.3.1
Streaming, parsers, arrays, serialization and more
Installation
Tested Compilers
Dependencies (13)
- Win32 >=2.6 && <2.15
- base >=4.12 && <4.23
- containers >=0.6.0 && <0.9
- exceptions >=0.8.0 && <0.11
- filepath >=1.4.2 && <1.6
- fusion-plugin-types >=0.1 && <0.2 Show all…
Dependents (38)
@hackage/dataframe, @hackage/streamly-fsnotify, @hackage/Frames-streamly, @hackage/streamly-archive, @hackage/streamly-statistics, @hackage/streamly, Show all…
Package Flags
debug
(off by default)
Debug build with asserts enabled
internal-dev
(off by default)
DO NOT USE, ONLY FOR INTERNAL USE.
has-llvm
(off by default)
Use llvm backend for code generation
opt
(on by default)
off=GHC default, on=-O2
limit-build-mem
(off by default)
Limits memory when building
internal-use-unliftio
(off by default)
DO NOT USE, ONLY FOR INTERNAL USE.
use-unfolds
(off by default)
Use unfolds for generation everywhere
use-folds
(off by default)
Use folds for elimination everywhere
force-lstat-readdir
(off by default)
Use lstat instead of checking for dtype in ReadDir
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.