on master help sign in
Make all the links in md docs absolute to the repo root
3cdb718Adithya Kumar
CONTRIBUTING.md+12−12
@@ -34,8 +34,8 @@ The `bin/test.sh` and `bin/bench.sh` are custom scripts to perform test
34and benchmarking tasks conveniently. They support running a group of
34and benchmarking tasks conveniently. They support running a group of
35tests or benchmarks, coverage, using correct optimization flags for
35tests or benchmarks, coverage, using correct optimization flags for
36benchmarking, benchmark comparison reports etc. Use the `--help` option
36benchmarking, benchmark comparison reports etc. Use the `--help` option
37−to see how to use these. See [benchmark/README.md](benchmark/README.md)
37+to see how to use these. See [benchmark/README.md](/benchmark/README.md)
38−and [test/README.md](test/README.md) for more details.
38+and [test/README.md](/test/README.md) for more details.
39
39
40You can also run tests or benchmarks directly for example:
40You can also run tests or benchmarks directly for example:
41
41
@@ -86,13 +86,13 @@ Here is a quick checklist for a PR, for details please see the next section:
86* Compiler warnings are fixed
86* Compiler warnings are fixed
87* Reasonable hlint suggestions are accepted
87* Reasonable hlint suggestions are accepted
88* Tests are added to cover the changed parts
88* Tests are added to cover the changed parts
89−* All [tests](test) pass
89+* All [tests](/test) pass
90−* [Performance benchmarks](benchmark) are added, where applicable
90+* [Performance benchmarks](/benchmark) are added, where applicable
91−* No significant regressions are reported by [performance benchmarks](benchmark/README.md)
91+* No significant regressions are reported by [performance benchmarks](/benchmark/README.md)
92* Haddock documentation is added to user visible APIs and data types
92* Haddock documentation is added to user visible APIs and data types
93−* Tutorial module, [Introduction](docs/Introduction.md), and [guides](docs) are
93+* Tutorial module, [Introduction](/docs/Introduction.md), and [guides](/docs) are
94 updated if necessary.
94 updated if necessary.
95−* [Changelog](docs/Changelog.md) is updated if needed
95+* [Changelog](/docs/Changelog.md) is updated if needed
96* The code conforms to the license, it is not stolen, credit is given,
96* The code conforms to the license, it is not stolen, credit is given,
97 copyright notices are retained, original license is included if needed.
97 copyright notices are retained, original license is included if needed.
98
98
@@ -145,8 +145,8 @@ BRANCH.
145### Testing
145### Testing
146
146
147It is a good idea to include tests for the changes where applicable. See
147It is a good idea to include tests for the changes where applicable. See
148−the existing tests in the [test](test) directory. Also see the
148+the existing tests in the [test](/test) directory. Also see the
149−[test/README.md](test/README.md) for more details on how to run the tests.
149+[test/README.md](/test/README.md) for more details on how to run the tests.
150
150
151### Documentation
151### Documentation
152
152
@@ -154,7 +154,7 @@ For user visible APIs, it is a good idea to provide haddock documentation that
154is easily understood by the end programmer and does not sound highfalutin,
154is easily understood by the end programmer and does not sound highfalutin,
155and preferably with examples. If your change affects the tutorial or needs to
155and preferably with examples. If your change affects the tutorial or needs to
156be mentioned in the tutorial then please update the tutorial. Check if the
156be mentioned in the tutorial then please update the tutorial. Check if the
157−additional [guides](docs) are affected or need to updated.
157+additional [guides](/docs) are affected or need to updated.
158
158
159### Performance Benchmarks
159### Performance Benchmarks
160
160
@@ -163,7 +163,7 @@ any of the existing performance benchmarks. If you introduced something new
163then you may want to add benchmarks to check if it performs as well as expected
163then you may want to add benchmarks to check if it performs as well as expected
164by the programmers to deem it usable.
164by the programmers to deem it usable.
165
165
166−See the [README](benchmark/README.md) file in the `benchmark` directory for more
166+See the [README](/benchmark/README.md) file in the `benchmark` directory for more
167details on how to run the benchmarks.
167details on how to run the benchmarks.
168
168
169The first level of check is the regression in "allocations", this is
169The first level of check is the regression in "allocations", this is
@@ -222,7 +222,7 @@ copying does not have an associated license please do not use it.
222
222
223* Use https://streamly.composewell.com/ for searching in reference docs
223* Use https://streamly.composewell.com/ for searching in reference docs
224* Build haddock docs for latest reference docs
224* Build haddock docs for latest reference docs
225−* See [the dev directory](dev) for design guidelines and dev documents.
225+* See [the dev directory](/dev) for design guidelines and dev documents.
226
226
227## Coding Guidelines
227## Coding Guidelines
228
228
benchmark/README.md+1−1
@@ -310,7 +310,7 @@ they are usually annotated so in their documentation.
310### Resolving the problem
310### Resolving the problem
311
311
312Review the problematic code, see [the optimization
312Review the problematic code, see [the optimization
313−guide](../dev/optimization-guidelines.md) for common problems and how to
313+guide](/dev/optimization-guidelines.md) for common problems and how to
314solve those. If no obvious issues are found on review, then generate and
314solve those. If no obvious issues are found on review, then generate and
315examine the core.
315examine the core.
316
316
dev/MAINTAINING.md+1−1
@@ -141,7 +141,7 @@
141 * Create a git tag corresponding to the release where X.Y.Z is the new
141 * Create a git tag corresponding to the release where X.Y.Z is the new
142 package version (`git tag vX.Y.Z && git push -f origin vX.Y.Z`).
142 package version (`git tag vX.Y.Z && git push -f origin vX.Y.Z`).
143 * Mask out the build status lines from the
143 * Mask out the build status lines from the
144− [docs/Introduction.md](docs/Introduction.md)
144+ [docs/Introduction.md](/docs/Introduction.md)
145 * Upload to hackage
145 * Upload to hackage
146 * Use a clean workspace to create source distribution
146 * Use a clean workspace to create source distribution
147 by freshly cloning the git repository. The reason for
147 by freshly cloning the git repository. The reason for
dev/utf8-decoder.md+3−3
@@ -263,7 +263,7 @@ back to it, we\'ve seen a whole Unicode character. Transitions not in
263the graph are disallowed; they all lead to state one, which has been
263the graph are disallowed; they all lead to state one, which has been
264omitted for readability.
264omitted for readability.
265
265
266−![DFA with range transitions](./dfa-bytes.png)
266+![DFA with range transitions](/dev/dfa-bytes.png)
267
267
268### Automaton with character class transitions
268### Automaton with character class transitions
269
269
@@ -273,7 +273,7 @@ encoding the ranges directly, the ranges are split such that each byte
273belongs to exactly one character class. Then the transitions go over
273belongs to exactly one character class. Then the transitions go over
274these character classes.
274these character classes.
275
275
276−![DFA with class transitions](./dfa-classes.png)
276+![DFA with class transitions](/dev/dfa-classes.png)
277
277
278### Mapping bytes to character classes
278### Mapping bytes to character classes
279
279
@@ -404,7 +404,7 @@ the non-ASCII starter is swapped (approximately a 5% increase), but GCC
404I have experimented with various rearrangements of states and character
404I have experimented with various rearrangements of states and character
405classes. A seemingly promising one is the following:
405classes. A seemingly promising one is the following:
406
406
407−![Re-arranged DFA with class transitions](./dfa-rearr.png)
407+![Re-arranged DFA with class transitions](/dev/dfa-rearr.png)
408
408
409One of the continuation ranges has been split into two, the other
409One of the continuation ranges has been split into two, the other
410changes are just renamings. This arrangement allows, when a continuation
410changes are just renamings. This arrangement allows, when a continuation
docs/Changelog.md+2−2
@@ -36,7 +36,7 @@ See API-changelog.txt for new APIs introduced.
36
36
37## 0.8.0 (Jun 2021)
37## 0.8.0 (Jun 2021)
38
38
39−See [API Changelog](./API-changelog.txt) for a complete list of signature
39+See [API Changelog](/docs/API-changelog.txt) for a complete list of signature
40changes and new APIs introduced.
40changes and new APIs introduced.
41
41
42### Breaking changes
42### Breaking changes
@@ -75,7 +75,7 @@ changes and new APIs introduced.
75
75
76### Enhancements
76### Enhancements
77
77
78−* See [API Changelog](./API-changelog.txt) for a complete list of new
78+* See [API Changelog](/docs/API-changelog.txt) for a complete list of new
79 modules and APIs introduced.
79 modules and APIs introduced.
80* The Fold type is now more powerful, the new termination behavior allows
80* The Fold type is now more powerful, the new termination behavior allows
81 to express basic parsing of streams using folds.
81 to express basic parsing of streams using folds.
docs/Introduction.md+6−6
@@ -43,11 +43,11 @@ further reading.
43If you wish to follow along with this guide, you will need to have
43If you wish to follow along with this guide, you will need to have
44[Streamly][] installed.
44[Streamly][] installed.
45
45
46−Please see the [Getting Started With The Streamly Package](getting-started.md)
46+Please see the [Getting Started With The Streamly Package](/docs/getting-started.md)
47guide for instructions on how to install [Streamly][].
47guide for instructions on how to install [Streamly][].
48
48
49If you wish to run benchmarks, please be sure to build your
49If you wish to run benchmarks, please be sure to build your
50−application using the instructions in the [Build Guide](compiling.md).
50+application using the instructions in the [Build Guide](/docs/Compiling.md).
51
51
52### An overview of the types used in these examples
52### An overview of the types used in these examples
53
53
@@ -490,7 +490,7 @@ Examples][streamly-examples] web page.
490* [Streaming Benchmarks][streaming-benchmarks]
490* [Streaming Benchmarks][streaming-benchmarks]
491* [Concurrency Benchmarks][concurrency-benchmarks]
491* [Concurrency Benchmarks][concurrency-benchmarks]
492* Functional Conf 2019 [Video](https://www.youtube.com/watch?v=uzsqgdMMgtk) | [Slides](https://www.slideshare.net/HarendraKumar10/streamly-concurrent-data-flow-programming)
492* Functional Conf 2019 [Video](https://www.youtube.com/watch?v=uzsqgdMMgtk) | [Slides](https://www.slideshare.net/HarendraKumar10/streamly-concurrent-data-flow-programming)
493−* [Other Guides](./)
493+* [Other Guides](/)
494* [Streamly Homepage][Streamly]
494* [Streamly Homepage][Streamly]
495
495
496## Performance
496## Performance
@@ -595,7 +595,7 @@ significant way:
595 * Gabriella Gonzalez ([foldl](https://hackage.haskell.org/package/foldl))
595 * Gabriella Gonzalez ([foldl](https://hackage.haskell.org/package/foldl))
596 * Alberto G. Corona ([transient](https://hackage.haskell.org/package/transient))
596 * Alberto G. Corona ([transient](https://hackage.haskell.org/package/transient))
597
597
598−Please see the [`credits`](./Credits.md) directory for a full
598+Please see the [`credits`](/docs/Credits.md) directory for a full
599list of contributors, credits and licenses.
599list of contributors, credits and licenses.
600
600
601## Licensing
601## Licensing
@@ -646,6 +646,6 @@ links (for online docs) before we release.
646[CirclingSquare.hs]: https://github.com/composewell/streamly-examples/tree/master/examples/CirclingSquare.hs
646[CirclingSquare.hs]: https://github.com/composewell/streamly-examples/tree/master/examples/CirclingSquare.hs
647
647
648<!-- local files -->
648<!-- local files -->
649−[LICENSE]: ../LICENSE
649+[LICENSE]: /LICENSE
650−[CONTRIBUTING.md]: ../CONTRIBUTING.md
650+[CONTRIBUTING.md]: /CONTRIBUTING.md
651[docs]: docs/
651[docs]: docs/
docs/Overview.md+1−1
@@ -95,7 +95,7 @@ can be constructed from monadic effects, not just pure elements. Streams are
95processed just like lists, with list like combinators, except that they are
95processed just like lists, with list like combinators, except that they are
96monadic and work in a streaming fashion. In other words streamly just completes
96monadic and work in a streaming fashion. In other words streamly just completes
97what lists lack, you do not need to learn anything new. Please see [streamly vs
97what lists lack, you do not need to learn anything new. Please see [streamly vs
98−lists](streamly-vs-lists.md) for a detailed comparison.
98+lists](/docs/streamly-vs-lists.md) for a detailed comparison.
99
99
100Not surprisingly, the monad instance of streamly is a list transformer, with
100Not surprisingly, the monad instance of streamly is a list transformer, with
101concurrency capability.
101concurrency capability.
docs/faq.md+1−1
@@ -2,7 +2,7 @@
2
2
3This document provides idioms or examples to solve common programming
3This document provides idioms or examples to solve common programming
4problems using streamly. To start with please go through [Streamly Quick
4problems using streamly. To start with please go through [Streamly Quick
5−Overview](./Introduction.md) and [`Streamly examples repository`][streamly-examples].
5+Overview](/docs/Introduction.md) and [`Streamly examples repository`][streamly-examples].
6This document provides additional examples.
6This document provides additional examples.
7
7
8## Distribute and Zip Concurrently
8## Distribute and Zip Concurrently
docs/getting-started.md+2−2
@@ -279,11 +279,11 @@ streamly][streamly-github] on Github.
279If you got this far successfully, congratulations!
279If you got this far successfully, congratulations!
280
280
281* For an overview of the `streamly` package, please read the
281* For an overview of the `streamly` package, please read the
282− [Streamly Quick Overview](./Introduction.md).
282+ [Streamly Quick Overview](/docs/Introduction.md).
283* Please browse the code examples in the
283* Please browse the code examples in the
284 [`Streamly examples repository`][streamly-examples].
284 [`Streamly examples repository`][streamly-examples].
285* If you would like to start on a real world project, please take a
285* If you would like to start on a real world project, please take a
286− look at the [Streamly Build Guide](Compiling.md).
286+ look at the [Streamly Build Guide](/docs/Compiling.md).
287* For comprehensive documentation please visit the
287* For comprehensive documentation please visit the
288 [Streamly Homepage][Streamly].
288 [Streamly Homepage][Streamly].
289
289
docs/streamly-vs-lists.md+1−1
@@ -237,7 +237,7 @@ resources compared to streamly. We only show those operations that are at least
237shown in a sorted order, from list's worst performing ones on the left to its
237shown in a sorted order, from list's worst performing ones on the left to its
238best ones on the right.
238best ones on the right.
239
239
240−![Streamly vs Lists (time) comparison](streamly-vs-list-time.svg)
240+![Streamly vs Lists (time) comparison](/docs/streamly-vs-list-time.svg)
241
241
242## Why use streams instead of lists?
242## Why use streams instead of lists?
243
243
docs/unified-abstractions.md+3−3
@@ -8,7 +8,7 @@ ecosystem.
8This document discusses the related packages in the Haskell ecosystem
8This document discusses the related packages in the Haskell ecosystem
9and how streamly unifies, overlaps, or compares with those. We provide
9and how streamly unifies, overlaps, or compares with those. We provide
10simple code snippets for illustrations, for a better overview of the
10simple code snippets for illustrations, for a better overview of the
11−library please see the [Streamly Quick Overview](./Introduction.md) document.
11+library please see the [Streamly Quick Overview](/docs/Introduction.md) document.
12
12
13## Existing Haskell Libraries
13## Existing Haskell Libraries
14
14
@@ -94,7 +94,7 @@ uses a vector-like stream representation which is amenable to
94low-level code having performance comparable to C.
94low-level code having performance comparable to C.
95
95
96To further understand the similarity with list API, please see [Streamly vs.
96To further understand the similarity with list API, please see [Streamly vs.
97−lists](streamly-vs-lists.md).
97+lists](/docs/streamly-vs-lists.md).
98For comparison of Streamly performance with other libraries see
98For comparison of Streamly performance with other libraries see
99[streaming benchmarks](https://github.com/composewell/streaming-benchmarks).
99[streaming benchmarks](https://github.com/composewell/streaming-benchmarks).
100
100
@@ -161,7 +161,7 @@ The same combinators that are used for serial streams e.g. 'unfoldrM',
161'replicateM', 'repeatM' work concurrently when used at the appropriate type.
161'replicateM', 'repeatM' work concurrently when used at the appropriate type.
162It allows concurrent programs to be written declaratively and composed
162It allows concurrent programs to be written declaratively and composed
163idiomatically. They are not much different than serial programs. See
163idiomatically. They are not much different than serial programs. See
164−[Streamly vs async](streamly-vs-async.md)
164+[Streamly vs async](/docs/streamly-vs-async.md)
165for a comparison of Streamly with the `async` package.
165for a comparison of Streamly with the `async` package.
166
166
167Streamly provides concurrent scheduling and looping similar to to
167Streamly provides concurrent scheduling and looping similar to to