Commit Graph

53 Commits

Author SHA1 Message Date
Harendra Kumar
9fe6dc1726 use direct style zipWith and zipWithM 2018-06-27 09:10:39 +05:30
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
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
266148c84a Add yield and repeat APIs 2018-06-23 07:35:35 +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
f1f322cb2c bump version 2018-06-15 02:16:34 +05:30
Harendra Kumar
328365e5e4 update documentation 2018-06-15 00:44:15 +05:30
Harendra Kumar
c28f3f1c47 Fix a concurrency bug in filtering ops
The bug causes the ops take, takeWhile, drop, dropWhile, filter and reverse to
behave incorrectly due to illegal sharing of SVar across ops.
2018-06-05 19:27:39 +05:30
Harendra Kumar
4c00da9ab4
Merge pull request #76 from subbyte/master
mapMaybe and mapMaybeM Implemented
2018-05-30 05:24:58 +05:30
Xiaokui Shu
e46d341819 add mapMaybe and mapMaybeM 2018-05-29 13:12:27 -04:00
Harendra Kumar
c77d3fbd62 More consistent naming of operators 2018-05-28 13:24:42 +05:30
Harendra Kumar
e60357957c Add concurrent function application operators 2018-05-26 17:02:36 +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
23c6469419 Update changelog for "Ahead" stream type 2018-05-17 14:13:59 +05:30
Harendra Kumar
ff38c5009d update thread/output buffer limits in changelog
and fix bench.sh
2018-05-13 11:30:57 +05:30
Harendra Kumar
9c9b27949c Fix missing nomenclature changes 2018-05-13 11:05:33 +05:30
Harendra Kumar
c9277a83a7 Change the nomenclature of streams 2018-05-13 10:13:26 +05:30
Harendra Kumar
74dd5a01b6 rename streams with a consistent and intuitive scheme
The trigger for this change is that parallel stream is not really parallel it is
a concurrent lookahead like just in a different traversal style. So we make
parallel and coparallel as parAhead and coparAhead instead and later introduce
a new style for parallel which would be strictly parallel with one thread for
each stream started right away rather than speculatively.
2018-05-07 19:17:02 +05:30
Harendra Kumar
7ad55f8e63 Add @since annotations, bump version, update changelog 2018-05-05 02:02:41 +05:30
Harendra Kumar
ca0e9a935c update docs, readme, cabal description and tutorial 2018-05-05 00:23:03 +05:30
Harendra Kumar
12b970cdd6 Add stream types specialized to IO monad 2018-04-25 11:31:12 +05:30
Harendra Kumar
dcf4297e8e rename ZipStream and ZipParallel, add M suffix
The original names ZipStream and ZipParallel will be specialized to IO monad.
2018-04-25 11:31:12 +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
0810ad78e6 remove the numeric instances 2018-04-22 23:23:23 +05:30
Harendra Kumar
e411ab6abd Remove MonadError instance temporarily
It is not working correctly for parallel compositions.
2018-04-22 22:57:31 +05:30
Harendra Kumar
071a90a00c rename some zip operations and MonadAsync type 2018-04-18 20:14:29 +05:30
Harendra Kumar
acd550c731 rename InterleavedT=>CoserialT, AParallelT=>CoparallelT 2018-04-18 17:32:25 +05:30
Harendra Kumar
c463d1634c Change elimination ops to use monomoprhic SerialT 2018-04-18 15:26:15 +05:30
Harendra Kumar
38d21d5193 Fix the default stream type to SerialT 2018-04-18 15:26:15 +05:30
Harendra Kumar
3d920ef3f8 rename AsyncT to AParallelT
Also rename asyncly to aparallely and runAsyncT to runAParallelT

The name Async is confusing and does not convey the right meaning. The 'A' in
AParallelT stands for 'Adaptive' and 'Parallel' indicates that this is a
variant of Parallel.

Another choice for the name was 'MParallelT' where 'M' stands for 'maybe', it
is maybe parallel since it may or may not start parallel threads depending on
demand but Adaptive fits better as it adapts to the demand.
2018-04-17 18:03:27 +05:30
Harendra Kumar
69a9ae1f17 Change the semantics of <> and <|>.
See the changelog for more details.
2018-04-16 23:16:26 +05:30
Harendra Kumar
6e32a15788 rename each to fromFoldable
fixes #14
2018-04-15 21:10:16 +05:30
Harendra Kumar
a34b1f31ad rename fold functions to make them consistent with base/Foldable 2018-04-15 19:39:43 +05:30
Harendra Kumar
408fef1c73 rename Streaming to IsStream and runStreaming to runStream
fixes #52
2018-04-15 15:08:11 +05:30
Harendra Kumar
4d99edefd9 update changelog for StreamT/ZipStream deprecations 2018-04-15 15:05:59 +05:30
Abhiroop Sarkar
1d3fb254f9 Change the signature of foldrM, fixes #38 2018-03-26 04:48:31 +05:30
Harendra Kumar
52479f3b02 bump version 2018-03-25 03:41:28 +05:30
Abhiroop Sarkar
149d263b35 Change the iterateM implementation to use pure seed and add tests for it 2018-03-24 14:58:21 +00:00
Abhiroop Sarkar
c7b94637c9 Add the monadic iterate function 2018-03-22 22:35:28 +00:00
Abhiroop Sarkar
3d125328a8 Add the pure iterate function 2018-03-22 21:47:44 +00:00
Hussein Ait Lahcen
20b2d97bc7
add: 'Unreleased' changelog section
docs: typo
2018-03-22 18:59:23 +01:00
Harendra Kumar
c7d40a1791 bump version for new release 2018-03-18 19:47:26 +05:30
Harendra Kumar
2e7c62810f Make minor changes to docs and update changelog 2018-03-18 12:48:17 +05:30
Harendra Kumar
c963127cc4 update changelog 2018-03-18 11:39:16 +05:30
Harendra Kumar
29bc664825 Add replicateM operation 2018-03-16 03:55:09 +05:30
Abhiroop Sarkar
c441252440 Fix the buggy implementation of last with a foldl version 2018-03-14 19:52:45 +00:00
Harendra Kumar
0efe93df5f update changelog for "product" fix 2018-03-14 14:14:34 +05:30