on master help sign in
edit the intro paragraph
de908d6Harendra Kumar
README.md+9−10
@@ -38,16 +38,15 @@ similar to the answer to - "Where to use Haskell lists or the IO monad?".
38Streamly simplifies streaming and makes it as intuitive as plain lists. Unlike
38Streamly simplifies streaming and makes it as intuitive as plain lists. Unlike
39other streaming libraries, no fancy types are required. Streamly is simply a
39other streaming libraries, no fancy types are required. Streamly is simply a
40generalization of Haskell lists to monadic streaming optionally with concurrent
40generalization of Haskell lists to monadic streaming optionally with concurrent
41−composition. Streamly stream type can be considered as a list type
41+composition. The basic stream type in streamly `SerialT m a` can be considered
42−parameterized by a monad. For example, `SerialT IO a` is an equivalent of `[a]`
42+as a list type `[a]` parameterized by the monad `m`. For example, `SerialT IO
43−in the IO monad. A stream in an `Identity` monad, `SerialT Identity a`, is
43+a` is a moral equivalent of `[a]` in the IO monad. `SerialT Identity a`, is
44−equivalent to pure lists with equal or better performance. Streams are
44+equivalent to pure lists. Streams are constructed very much like lists, except
45−constructed just like lists are constructed, using `nil` and `cons` instead of
45+that they use `nil` and `cons` instead of `[]` and `:`. Unlike lists, streams
46−`[]` and `:`. Unlike lists, streams can be constructed from monadic actions,
47−not just pure elements. Streams are processed just like lists are processed.
46+can be constructed from monadic effects, not just pure elements. Streams are
48−Streamly provides all the list combinators and more, but they are monadic and
47+processed just like lists, with list like combinators, except that they are
49−work in a streaming fashion. In other words streamly just completes what lists
48+monadic and work in a streaming fashion. In other words streamly just completes
50−lack, you do not need to learn anything new.
49+what lists lack, you do not need to learn anything new.
51
50
52Not surprisingly, the monad instance of streamly is a list transformer, with
51Not surprisingly, the monad instance of streamly is a list transformer, with
53concurrency capability.
52concurrency capability.