Commit Graph

18 Commits

Author SHA1 Message Date
Pranay Sashank
d4bef2e352 Add intersperse to Streamly.Prelude.
- Also adds benchmarking code for intersperse.
2019-06-12 10:30:15 +05:30
Harendra Kumar
1949eb90af Concurrent concatMap, foldr/build fusion, benchmarks
* Implement a stream flavor specific (concurrent/wSerial etc.) concatMap
  (concatMapBy). Now concatMap has the same capabilities that the monad bind of
  different streams has. In fact the monad bind is implemented using concatMap

* Use foldr/build fusion for concatMap (currently disabled) and for map/fmap
  and mapM (enabled)

* Add benchmarks for bind/concatMap performance
2019-05-27 23:29:21 +05:30
Harendra Kumar
38c5c8872c Add File IO support 2019-05-15 17:54:12 +05:30
Harendra Kumar
0ce4a6d5ad Fix right fold, document folds, add generic folds
* Fix the signature of foldrM
* Implement some custom folds in terms of foldr
* Document folds and scans better
* Reorganize the documentation in Prelude
* Add foldrS and foldrT for transforming folds
* add toRevList
* Add benchmarks and tests for the new folds
2019-05-03 16:46:43 +05:30
Harendra Kumar
9c8a7504fa Add mapM_ benchmark, add build/augment 2018-12-27 13:59:25 +05:30
Harendra Kumar
c28043f48a Add pure stream (list) instances
Pure streams are streams with Identity as the base monad.
Added Eq/Ord/Read/Show/IsString/IsList instances for pure streams.
2018-11-16 14:39:26 +05:30
Harendra Kumar
bf4e5d89ec Add mixed ops x 2 and iterated benchmarks to base
Also, fix comparative graph generation, titles etc.
2018-11-06 03:12:08 +05:30
Harendra Kumar
628355fad6 Improve benchmarking of base streams
1) Fix options parsing in charting program
2) Add a group-diff options to compare StreamD/K
3) Add more benchmarks to StreamD/K
2018-11-05 20:34:20 +05:30
Harendra Kumar
114ab1f8cf fix some hlint warnings 2018-10-31 01:53:19 +05:30
Harendra Kumar
172efa6582 Add composed benches for streamd/k and compare them 2018-10-29 19:02:41 +05:30
Harendra Kumar
615197d1c5 split head and tail benchmarks from nullHeadTail 2018-10-29 13:19:59 +05:30
Harendra Kumar
bf39d27446 lint free benchmarks 2018-10-13 08:52:09 +05:30
Harendra Kumar
c39a442ddf Add benchmarks and tests for new operations
Also fix the signature of foldl1'
Add notes about state passing
2018-08-09 00:43:48 +05:30
Harendra Kumar
ec0868181c update base stream benchmarks 2018-07-14 13:10:09 +05:30
Harendra Kumar
55f9cfa371 fix foldxM strictness
The main change is a single line change in StreamK.hs in foldxM routine.

Major changes in this commit are due to:
1) Added strictness tests for all foldl and scanl rotuines
2) refactoring to enable independent benchmarking for StreamK, to measure the
  impact of the change.
2018-07-13 19:00:38 +05:30
Harendra Kumar
6530e7634f push uncons/null/head/tail to StreamK
and implement direct versions of these as well.
2018-06-27 05:20:14 +05:30
Harendra Kumar
d0a07bb70e update benchmarks for streamD/K 2018-06-25 05:45:45 +05:30
Harendra Kumar
9bb5ac1ea2 Add dev benchmarks for base cont and direct streams 2018-06-23 20:57:24 +05:30