on master help sign in
Move "installing and using" sec. at the beginning
a231fe5Harendra Kumar
README.md+25−21
@@ -31,8 +31,32 @@ Let's go through some practical examples to see it working. You
31can find the working code of these examples in the [streamly-examples
31can find the working code of these examples in the [streamly-examples
32repository](https://github.com/composewell/streamly-examples).
32repository](https://github.com/composewell/streamly-examples).
33
33
34+## Installing and using
35+
36+Please see [INSTALL.md](./INSTALL.md) for instructions on how to use streamly
37+with your Haskell build tool or package manager.
38+
39+## Documentation
40+
41+Streamly comes with batteries included, see [the streamly documentation
42+portal](https://streamly.composewell.com) for available modules. Modules
43+are divided in two categories:
44+
45+* Released Modules: these are modules that have a stable API, any API changes
46+ conform to a versioning policy.
47+* Pre-release Modules: These modules are not yet released due to some planned
48+ changes in near future, they will be released soon.
49+
50+Pre-release APIs: Some of the APIs that are recently introduced
51+and require some soak time for stability are kept in the
52+internal modules corresponding to the released module (e.g.
53+Streamly.Internal.Data.Fold). We usually try to change even the
54+unstable APIs in a major release version.
55+
34## Types Overview
56## Types Overview
35
57
58+Quick overview of basic types for this tutorial:
59+
36* `SerialT IO a` is a serial stream of values of type `a` in IO Monad.
60* `SerialT IO a` is a serial stream of values of type `a` in IO Monad.
37* `AsyncT IO a` is a concurrent (async) stream of values of type `a` in IO
61* `AsyncT IO a` is a concurrent (async) stream of values of type `a` in IO
38 Monad.
62 Monad.
@@ -134,7 +158,7 @@ excellent modularity. Experienced Haskellers would notice that we have
134not used bytestrings, we simply use a stream of `Word8`, simplifying the
158not used bytestrings, we simply use a stream of `Word8`, simplifying the
135program.
159program.
136
160
137−## Performance
161+## Word Counting Performance
138
162
139We compare two equivalent implementations, one using Haskell Streamly and the
163We compare two equivalent implementations, one using Haskell Streamly and the
140other using C. The
164other using C. The
@@ -505,26 +529,6 @@ We hope to bring these optimizations to GHC in future but until
505then we recommend that you use the plugin for performance sensitive
529then we recommend that you use the plugin for performance sensitive
506applications.
530applications.
507
531
508−## Installing and using
509−
510−Please see [INSTALL.md](./INSTALL.md) for instructions on how to use streamly
511−with your Haskell build tool or package manager.
512−
513−Streamly comes with batteries included, see [the
514−documentation](https://streamly.composewell.com) for available modules. Modules
515−are divided in two categories:
516−
517−* Released Modules: these are modules that have a stable API, any API changes
518− conform to a versioning policy.
519−* Pre-release APIs: Some of the APIs that are recently introduced and
520− require some soak time for stability are kept in the
521− internal modules corresponding to the released module (e.g.
522− Streamly.Internal.Data.Fold).
523−* Pre-release Modules: These modules are not yet released due to some planned
524− changes in near future, they will be released soon.
525−
526−We usually try to change even the unstable APIs in a major release version.
527−
528## Support
532## Support
529
533
530Please feel free to ask questions on the
534Please feel free to ask questions on the