Commit Graph

2314 Commits

Author SHA1 Message Date
Pranay Sashank
c1c77d030e Add benchmark for Data.Fold.concatMap. 2021-02-11 15:01:02 +05:30
Pranay Sashank
039eb7acec Implement Data.Fold.concatMap. 2021-02-11 14:52:10 +05:30
Ranjeet Kumar Ranjan
6976363939 Fix Some minor refactorings of toList/toStream folds #863
Fix refactoring issues in benchmark

Remove redundant import

Address review comments

Revert haddock reference
2021-02-11 00:40:24 +05:30
Harendra Kumar
11831bed44 Rename foldMany and foldMany1
foldMany1 is the default foldMany now. foldMany is renamed to
foldManyPost which is of limited use to split in an infix manner.
2021-02-11 00:37:12 +05:30
Harendra Kumar
f6522bdd17 Remove sliceSepByMax
It can be expressed as:

sliceSepByMax p n = sliceSepBy p . takeLE n
2021-02-11 00:32:42 +05:30
Harendra Kumar
cdccb78b7e Add support for --with-compiler 2021-02-10 19:19:53 +05:30
Harendra Kumar
44b0ff2ac3 Use 0 to initialize IORef instead of undefined
The "undefined" somehow gets evaluated even though it is overwritten
immediately. The benchmarks crash due to this.
2021-02-10 19:01:29 +05:30
Harendra Kumar
6c02648b7d Use fusion-plugin by default 2021-02-10 18:49:58 +05:30
Harendra Kumar
d1ab6e59d6 Rename cabal-build-flags to cabal-build-options 2021-02-10 18:49:58 +05:30
Harendra Kumar
a12febb151 Add sampling support in folds 2021-02-10 03:20:17 +05:30
Harendra Kumar
678ee5e00d Import from lower level modules 2021-02-10 03:20:17 +05:30
Adithya Kumar
27d3575855 Re-implement span, spanBy, and spanByRolling as parsers 2021-02-10 02:11:26 +05:30
Adithya Kumar
de51477471 Add noErrorUnsafeSplitWith 2021-02-10 02:11:26 +05:30
Adithya Kumar
d42276a0c0 Add some common parser idioms using splitWith 2021-02-10 02:11:26 +05:30
Adithya Kumar
c5b6a8bfed Remove span, break, spanBy, and spanByRolling 2021-02-10 02:11:26 +05:30
Adithya Kumar
bf396f0db0 Add fold benchmarks for span, spanBy, and spanByRolling 2021-02-10 02:11:26 +05:30
Adithya Kumar
662aced6cc Add some derived parser benchmarks 2021-02-10 02:11:26 +05:30
Harendra Kumar
1bdfdb551c Update recommendations for new release 2021-02-10 02:04:20 +05:30
Harendra Kumar
2131682e9a Update bin/test.sh cli help, add it to test/README.md 2021-02-10 02:00:33 +05:30
Harendra Kumar
39ec0b6648 Update docs of splitting combinators
Add a template/signature for splitOnPrefix function.
2021-02-09 02:17:41 +05:30
Harendra Kumar
00d3cb5dde Update docs for unlines and unwords 2021-02-09 02:16:03 +05:30
Harendra Kumar
85b69a7afa Edit/Update some docs on folds 2021-02-09 02:16:03 +05:30
Harendra Kumar
7de5d6d7ff Allow -Werror without inspection/fusion-plugin
We may want to use the -Werror build locally but fusion-plugin takes too
much time to build, so separate the two.
2021-02-09 02:12:48 +05:30
Harendra Kumar
3b37295b29 Move Time/System.hs to Time/Clock/Type.hs 2021-02-08 23:40:35 +05:30
Harendra Kumar
62514f27c1 Factor out the async clock related code 2021-02-08 23:40:35 +05:30
Harendra Kumar
2a522a176e Move "Clock.hsc" to "System.hsc"
The Clock module will host higher level functionality built on lower
level system clock.
2021-02-08 23:40:35 +05:30
Harendra Kumar
c3298c1177 Refactor the "times" function
Factor out the clock creation and reading functions.
2021-02-08 23:40:35 +05:30
Anurag Hooda
e4e1d25647 make sliceBeginWith fail when first element fails predicate 2021-02-07 20:05:01 +05:30
Anurag Hooda
fb9f05e4fb Add sliceBeginWith, tests and benchmarks 2021-02-07 20:05:01 +05:30
Harendra Kumar
b6a07525eb Use foldMany1 in chunksOf instead of foldMany 2021-02-06 22:29:22 +05:30
Harendra Kumar
a41a7b572f Use bigger stream sizes in some benchmarks 2021-02-06 00:12:42 +05:30
Harendra Kumar
b8ede3e5e3 Inline the consume state in foldMany 2021-02-06 00:12:42 +05:30
Harendra Kumar
c0ec60abfe Change the foldMany state/constructor names
To make them consistent with the combinator name.
2021-02-06 00:12:23 +05:30
Harendra Kumar
01e5e5179e Fix a bug in foldMany1
Jump to correct state on Skip.
2021-02-06 00:11:00 +05:30
Harendra Kumar
ccbaa15147 Inline the consume state in foldMany1
Leads to 3x improvement in the foldMany1 (Fold.take 1 Fold.sum) benchmark.
2021-02-06 00:11:00 +05:30
Harendra Kumar
de31277c19 Add foldMany1 and arraysOf benchmarks 2021-02-05 16:39:13 +05:30
Harendra Kumar
4c4c20be95 Add a doc illustrating CPS/direct style streams 2021-02-04 18:31:57 +05:30
Harendra Kumar
705c2f2418 Implement readRev to read an array in reverse order 2021-02-03 23:35:38 +05:30
Harendra Kumar
bffdd45057 Update doc of fromIndices 2021-02-03 03:32:24 +05:30
Pranay Sashank
352161ab2c Add release dates to Changelog. 2021-02-02 12:24:42 +05:30
Pranay Sashank
ed030cc134 Rename some modules.
- Streamly.Internal.Memory.ArrayStream =>
  Streamly.Internal.Data.Array.Stream.Foreign
- Streamly.Memory.Ring =>
  Streamly.Internal.Ring.Foreign
- Streamly.FileSystem.IOVec =>
  Streamly.Internal.FileSystem.IOVec
- Streamly.FileSystem.FDIO =>
  Streamly.Internal.FileSystem.FDIO
- Streamly.FileSystem.FD =>
  Streamly.Internal.FileSystem.FD

Closes #873.
2021-02-01 21:39:22 +05:30
Pranay Sashank
5c018c7e45 Rename Data.Array.Storable.Foreign to Data.Array.Foreign.
Closes #854.
2021-02-01 21:31:06 +05:30
Pranay Sashank
08dd169aae Make Fold.head terminating. 2021-02-01 13:22:00 +05:30
Harendra Kumar
525d2b0c1d Increase heap limits for Data.Parser/Prelude.Serial 2021-01-30 20:11:58 +05:30
Harendra Kumar
4b9d1a3cdb Add fusion-plugin 0.2.2 2021-01-29 20:26:46 +05:30
Harendra Kumar
2c6f06c5b6 Increase memory limit for Prelude.Serial benchmark
Compiling Split.hs runs out of memory.
2021-01-28 01:19:53 +05:30
Harendra Kumar
95ebb7b177 Increase the memory limit for streamly-tests library 2021-01-28 01:19:44 +05:30
Harendra Kumar
f448fb5643 Refactor array modules (factor out array stream)
There is no functional change in this commit, only refactoring.

* Update module documentation for arrays
* Rearrange and re-group related functions together
* Ability to use fold/unfold/foldMany/chunksOf in low level array
  modules so that we are able to express some of the functions more
  idiomatically. We have not done that in this change but with this
  change we should be able to do it later.
* Separate out the array stream code from lower level modules to the
  higher level array stream module.
2021-01-28 01:19:44 +05:30
Harendra Kumar
8af89ddffe Remove dependency of Array/Types on StreamK
It can depend on StreamK/Type but not on the high level StreamK module.
2021-01-27 19:11:29 +05:30
Harendra Kumar
da62adaebc Import lower level modules where possible 2021-01-27 19:11:29 +05:30