on master help sign in
Reorganize/edit/update some sections
1630d3cHarendra Kumar
README.md+52−45
@@ -1,19 +1,7 @@
1−# Streamly
1+# [Streamly](https://streamly.composewell.com)
2
2
3−[![Hackage](https://img.shields.io/hackage/v/streamly.svg?style=flat)](https://hackage.haskell.org/package/streamly)
4[![Gitter chat](https://badges.gitter.im/composewell/gitter.svg)](https://gitter.im/composewell/streamly)
3[![Gitter chat](https://badges.gitter.im/composewell/gitter.svg)](https://gitter.im/composewell/streamly)
5−[![Travis](https://travis-ci.com/composewell/streamly.svg?branch=master)](https://travis-ci.com/composewell/streamly)
4+[![Hackage](https://img.shields.io/hackage/v/streamly.svg?style=flat)](https://hackage.haskell.org/package/streamly)
6−[![Appveyor](https://ci.appveyor.com/api/projects/status/ajxg0c79raou9ned?svg=true)](https://ci.appveyor.com/project/harendra-kumar/streamly)
7−[![CircleCI](https://circleci.com/gh/composewell/streamly/tree/master.svg?style=svg)](https://circleci.com/gh/composewell/streamly/tree/master)
8−[![Coverage Status](https://coveralls.io/repos/composewell/streamly/badge.svg?branch=master&service=github)](https://coveralls.io/github/composewell/streamly?branch=master)
9−
10−## Learning Materials
11−
12−* Documentation: [Quick](#streaming-concurrently) | [Tutorial](https://hackage.haskell.org/package/streamly/docs/Streamly-Tutorial.html) | [Reference (Hackage)](https://hackage.haskell.org/package/streamly) | [Reference (Latest)](https://composewell.github.io/streamly) | [Guides](docs)
13−* Installing: [Installing](./INSTALL.md) | [Building for optimal performance](docs/Build.md)
14−* [streamly-examples](https://github.com/composewell/streamly-examples)
15−* Benchmarks: [Streaming](https://github.com/composewell/streaming-benchmarks) | [Concurrency](https://github.com/composewell/concurrency-benchmarks)
16−* Talks: [Functional Conf 2019 Video](https://www.youtube.com/watch?v=uzsqgdMMgtk) | [Functional Conf 2019 Slides](https://www.slideshare.net/HarendraKumar10/streamly-concurrent-data-flow-programming)
17
5
18## Idiomatic Haskell at the speed of C
6## Idiomatic Haskell at the speed of C
19
7
@@ -27,31 +15,27 @@ software systems. The key features it provides are:
27* Powerful abstractions
15* Powerful abstractions
28* Declarative concurrency
16* Declarative concurrency
29
17
30−Let's go through some practical examples to see it working. You
18+This guide introduces you to streamly using some practical examples.
31−can find the working code of these examples in the [streamly-examples
19+See [Streamly Homepage](https://streamly.composewell.com) and [Streamly
32−repository](https://github.com/composewell/streamly-examples).
20+Examples](https://github.com/composewell/streamly-examples) to learn
21+more.
33
22
34## Installing and using
23## Installing and using
35
24
36−Please see [INSTALL.md](./INSTALL.md) for instructions on how to use streamly
25+Please see [getting started with streamly](./INSTALL.md) for
37−with your Haskell build tool or package manager.
26+instructions on how to use streamly with your Haskell build tool or
38−
27+package manager.
39−## Documentation
40
28
41−Streamly comes with batteries included, see [the streamly documentation
29+To build your streamly application for best performance see the
42−portal](https://streamly.composewell.com) for available modules. Modules
30+[build and compile options guide](docs/Build.md).
43−are divided in two categories:
44
31
45−* Released Modules: these are modules that have a stable API, any API changes
32+## Documentation
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
33
50−Pre-release APIs: Some of the APIs that are recently introduced
34+* [Streamly Homepage](https://streamly.composewell.com)
51−and require some soak time for stability are kept in the
35+* [Streamly Examples](https://github.com/composewell/streamly-examples)
52−internal modules corresponding to the released module (e.g.
36+* [Streaming Benchmarks](https://github.com/composewell/streaming-benchmarks) | [Concurrency Benchmarks](https://github.com/composewell/concurrency-benchmarks)
53−Streamly.Internal.Data.Fold). We usually try to change even the
37+* [Functional Conf 2019 Video](https://www.youtube.com/watch?v=uzsqgdMMgtk) | [Functional Conf 2019 Slides](https://www.slideshare.net/HarendraKumar10/streamly-concurrent-data-flow-programming)
54−unstable APIs in a major release version.
38+* [Guides](docs)
55
39
56## Types Overview
40## Types Overview
57
41
@@ -93,6 +77,9 @@ wcb file =
93 & Stream.fold Fold.length -- IO Int
77 & Stream.fold Fold.length -- IO Int
94```
78```
95
79
80+If you are wondering about the `Internal` module import, see [A Note on
81+Internal Modules](#a-note-on-internal-modules) section.
82+
96### Count lines (wc -l)
83### Count lines (wc -l)
97
84
98Count lines in a file.
85Count lines in a file.
@@ -453,7 +440,7 @@ Streamly comes equipped with a very powerful set of abstractions to accomplish
453any kind of programming tasks that you may want to throw at it. It provides,
440any kind of programming tasks that you may want to throw at it. It provides,
454streams, arrays, file-io, fsnotify, network-io, time domain programming
441streams, arrays, file-io, fsnotify, network-io, time domain programming
455(reactive programming). See the [streamly
442(reactive programming). See the [streamly
456−documentation](https://streamly.composewell.com) to know more.
443+documentation](https://streamly.composewell.com) to learn more.
457
444
458## Concurrency
445## Concurrency
459
446
@@ -529,13 +516,25 @@ We hope to bring these optimizations to GHC in future but until
529then we recommend that you use the plugin for performance sensitive
516then we recommend that you use the plugin for performance sensitive
530applications.
517applications.
531
518
532−## Support
519+## A Note on Internal Modules
520+
521+You may see some `Internal` modules imported in the examples. Those are
522+not really internal to the library. We can classify streamly modules into
523+two categories:
524+
525+* Released Modules: These are the modules that have a stable API, any
526+ API changes conform to the package versioning policy.
527+* Pre-release Modules: These modules are not yet released due to some planned
528+ changes in near future, they will be released soon. These modules reside in
529+ the `Internal` namespace for now.
533
530
534−Please feel free to ask questions on the
531+Pre-release APIs: Some of the APIs that are recently introduced
535−[streamly gitter channel](https://gitter.im/composewell/streamly).
532+and require some soak time for stability are kept in the
536−If you require professional support, consulting, training or timely
533+internal modules corresponding to the released module (e.g.
537−enhancements to the library please contact
534+Streamly.Internal.Data.Fold).
538−[support@composewell.com](mailto:support@composewell.com).
535+
536+We usually try to change even the unstable APIs in `Internal` module
537+namespace in a major release version.
539
538
540## Credits
539## Credits
541
540
@@ -550,8 +549,16 @@ See the `credits` directory for full list of contributors, credits and licenses.
550
549
551## Contributing
550## Contributing
552
551
552+* [Streamly Contributor's Guide](CONTRIBUTING.md)
553+* [Contact the streamly development team](mailto:streamly@composewell.com)
554+
555+## License
556+
557+Streamly is an [open source](https://github.com/composewell/streamly)
553−The code is available under BSD-3-Clause license
558+project available under [BSD-3-Clause
554−[on github](https://github.com/composewell/streamly). Join the [gitter
559+license](https://github.com/composewell/streamly/blob/master/LICENSE).
560+
561+## Support
562+
555−chat](https://gitter.im/composewell/streamly) channel for discussions. Please
563+* Join streamly [online community chat](https://gitter.im/composewell/streamly)
556−ask any questions on the gitter channel or [contact the maintainer
564+* For professional support please contact [support@composewell.com](mailto:support@composewell.com)
557−directly](mailto:streamly@composewell.com). All contributions are welcome!