@@ -1,11 +1,13 @@
11cabal-version: 2.2
22name: streamly-core
33version: 0.2.0
4−synopsis: Streaming, parsers, arrays and more
4+synopsis: Streaming, parsers, arrays, serialization and more
55description:
66 For upgrading to streamly-0.9.0+ please read the
77 <https://github.com/composewell/streamly/blob/streamly-0.10.0/docs/User/Project/Upgrading-0.8-to-0.9.md Streamly-0.9.0 upgrade guide>.
88 .
9+ Streamly is a standard library for Haskell that focuses on C-like
10+ performance, modular combinators, and streaming data flow model.
911 Streamly consists of two packages: "streamly-core" and "streamly".
1012 <https://hackage.haskell.org/package/streamly-core streamly-core>
1113 provides basic features, and depends only on GHC boot libraries (see
@@ -15,8 +17,41 @@ description:
1517 and networking. For documentation, visit the
1618 <https://streamly.composewell.com Streamly website>.
1719 .
18− This package provides streams, arrays, parsers, unicode text, file
19− IO, and console IO functionality.
20+ The streamly-core package provides the following functionality:
21+ .
22+ * Streams as composable producers of a sequence of values.
23+ * Streams provide all the functionality provided by Haskell lists but
24+ in an effectful, streaming fashion with better performance.
25+ * Streams provide ListT and logic programming functionality as well.
26+ * Folds as composable stream consumers that reduce the streams to a
27+ single value or reduce segments of streams to transform the stream.
28+ * Parsers as more powerful, composable stream consumers supporting
29+ standard parser combinators with backtracking but in a streaming
30+ fashion.
31+ * Arrays with streaming interfaces providing high performance,
32+ modularity, and concise interface as all streaming operations can be
33+ performed on arrays.
34+ * Arrays can be immutable or mutable, unboxed or boxed, pinned or
35+ unpinned.
36+ * Arrays generalize the functionality provided by @bytestring@ and
37+ @text@ packages.
38+ * Interoperability with @bytestring@ and @text@ is
39+ provided via separate packages.
40+ * Arrays and folds provide natural builder functionality so there are no
41+ separate builder modules.
42+ * High performance binary serialization with configurable JSON like features.
43+ * Streaming combinators for unicode text processing, providing
44+ functionality equivalent to the @text@ package.
45+ * String interpolation for convenient construction of strings.
46+ * Streaming console IO (stdin/stdout) operations.
47+ * Streaming file and directory IO operations.
48+ .
49+ This package covers some or all of the functionality covered
50+ by @streaming, pipes, conduit, list-t, logic-t, foldl, attoparsec,
51+ array, primitive, vector, vector-algorithms, binary, cereal, store,
52+ bytestring, text, stringsearch, interpolate@. Streamly provides a
53+ consistent, concise, modular and performant interface for all this
54+ functionality.
2055 .
2156 Note: The dependencies "heaps" and "monad-control" are included in
2257 the package solely for backward compatibility, and will be removed in