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