Commit Graph

19 Commits

Author SHA1 Message Date
Harendra Kumar
beba8f7919 Use direct style filtering functions
Also, organized a lot of code, by reordering in a more logical order and made
it consistent across multiple streams types.
2018-06-26 06:00:47 +05:30
Harendra Kumar
5ace3582a8 use foldl' for length, sum, product 2018-06-25 03:51:02 +05:30
Harendra Kumar
de5c0ca22e use direct style scan, push mapMaybe from prelude to StreamK 2018-06-25 03:15:22 +05:30
Harendra Kumar
3ae953064d use folds and map from direct style stream 2018-06-24 22:43:30 +05:30
Harendra Kumar
7a526f22b9 use direct style streams for linear composition
For some stream generation APIs.
Also added, fromList/fromListM APIs.
2018-06-24 06:19:41 +05:30
Harendra Kumar
9c85811905 rename "once" to "yieldM"
and some other related refactoring changes.
2018-06-23 06:50:59 +05:30
Harendra Kumar
b77e76fd53 Add/rearrange INLINE pragmas on benchmarks 2018-06-18 02:56:52 +05:30
Harendra Kumar
b9e5e424a7 remove the append benchmark
it is already covered by the generation benchmarks
2018-06-13 17:46:54 +05:30
Harendra Kumar
aa4c8707b5 add more benchmarks, update benchmarks 2018-06-09 21:11:15 +05:30
Harendra Kumar
decdf72e3a use lower number of elements in benchmark stream
To enable parallel benchmarks
2018-06-03 00:28:14 +05:30
Harendra Kumar
2f706b9bfb add concurrent stream generation benchmarks 2018-05-28 11:35:33 +05:30
Harendra Kumar
669295965a Add some INLINABLE pragams 2018-05-27 10:33:21 +05:30
Harendra Kumar
9cb2ac0bb7 Add concurrent generation and transformation capabilities
- monadic stream generation functions are now concurrent
- monadic stream transformation (mapM, sequence) functions are now concurrent
- fixed a race which caused blockedindefinitely on MVar in rare cases
2018-05-24 16:48:48 +05:30
Harendra Kumar
3b6427818f Add fromFoldableM
Also,

- INLINE consM and once
- add benchmarking for various ways of sourcing (unfoldr(M), fromFoldable(M),
  foldMapWith serial)
2018-05-21 17:54:19 +05:30
Harendra Kumar
c8b32f2a53 Fix naming changes in benchmarks 2018-05-13 10:27:49 +05:30
Harendra Kumar
091f4b69fe Add the strictly parallel stream type ParallelT 2018-05-08 07:49:43 +05:30
Harendra Kumar
cf1388b330 Add append benchmark to linear benchmarks 2018-05-06 05:13:10 +05:30
Harendra Kumar
a526207acd rename the default stream type to StreamT
This was earlier changed from StreamT to SerialT. However we have made this the
default type now and it makes more sense to call it StreamT now. A bigger
motivation for the change is that StreamT immediately conveys that it is a
stream which is helpful and intuitive for new learners. Also we have a plan to
have a specialized type called "Stream a = StreamT IO a", so the name StreamT
is in line with that common default type "Stream a". Calling that type as
"Serial a" does not sound as intuitive as calling it "Stream a".
2018-04-25 11:31:12 +05:30
Harendra Kumar
ac39277da8 Rename benchmark modules 2018-04-25 11:28:47 +05:30