Commit Graph

114 Commits

Author SHA1 Message Date
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
30a6e32fee Fix Monoid and other instances
Monoid instances should not be derived from underlying type where we want them
to be type specific. Added tests to make sure they are correct.

Other typeclass instances that are dependent on type specific behavior should
also be independently defined rather than derived.

Removed Alternative instances as they are not correct yet.

Removed redundancy by using CPP macros to define instances of different types.
2018-04-22 15:59:09 +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
3f638d9b6d rename interleave=>coserial, aparallel=>coparallel 2018-04-18 16:55:16 +05:30
Harendra Kumar
793f2b8749 Remove redundant constraints 2018-04-18 15:26:15 +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
edfe36ef17 Fix tests for AsyncT to AParallelT change 2018-04-17 18:22:21 +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
5fd6f35789 rename StreamT to SerialT 2018-04-15 15:05:59 +05:30
Harendra Kumar
6c5da1c500 add singleton stream case 2018-04-15 12:39:47 +05:30
Harendra Kumar
0b51df3848 use both types of stream endings 2018-04-15 12:39:47 +05:30
Harendra Kumar
203fce4cc6 use multiset equality for async streams 2018-04-15 12:39:47 +05:30
Harendra Kumar
9ba73a8aea Add missing tests 2018-04-15 12:39:47 +05:30
Harendra Kumar
663ecb9e27 fix build for ghc 8.4 2018-04-15 12:39:47 +05:30
Harendra Kumar
ac3b3df16e remove tests duplicated by unit-tests and prop tests 2018-04-15 12:39:47 +05:30
Harendra Kumar
7d1e6aa163 arrange property tests in groups 2018-04-15 12:39:47 +05:30
Harendra Kumar
722efd60fb Add quickcheck based property tests
fixes #30
2018-04-15 12:39:47 +05:30
Abhiroop Sarkar
9cac526275 Fix indentation 2018-03-24 15:13:25 +00:00
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
3d125328a8 Add the pure iterate function 2018-03-22 21:47:44 +00:00
Hussein Ait Lahcen
42bde27d2b
fix: Zip/AsyncZip applicative instances
refact: type consistency

refact: introduce srepeat
2018-03-22 18:59:14 +01:00
Harendra Kumar
92e8f2bc3f Simplify and format some tests 2018-03-17 02:37:06 +05:30
Veladus
4c6279ca88 Added test for Prelude.tail 2018-03-17 02:14:42 +05:30
Veladus
f7b9841f4f Added tests from Prelude.reverse and Prelude.null 2018-03-17 02:14:42 +05:30
Harendra Kumar
29bc664825 Add replicateM operation 2018-03-16 03:55:09 +05:30
Abhiroop Sarkar
2248ae7d6b Add "scan" for left scans 2018-03-11 17:36:31 +05:30
Harendra Kumar
70a56d13e4 Add more tests for Prelude operations 2018-03-11 02:36:25 +05:30
Harendra Kumar
8e4a60c472 Added test cases for "last" operation 2018-03-11 02:13:55 +05:30
Harendra Kumar
84dc45c139 More test scenarios for stream operations 2018-03-11 01:57:19 +05:30
Harendra Kumar
c0f0b54f37 Add test for foldl 2018-03-10 17:21:09 +05:30
Harendra Kumar
3cca5971e0 optimize dropWhile and add tests 2018-03-09 14:28:58 +05:30
Harendra Kumar
25b3a3e163 Add filter tests 2018-03-09 14:04:40 +05:30
Harendra Kumar
119e07a179 Fix failing test
In parallel tests we should compare sorted results to take care of out of order
results.
2018-02-13 04:01:34 +05:30
Harendra Kumar
42df6099e2 Fix warning 2017-12-22 05:00:21 +05:30
Harendra Kumar
20d8d7c7b2 Comment out failing test 2017-12-22 04:30:33 +05:30
Harendra Kumar
21d779cd92 Comment out incorrect test 2017-11-20 22:14:39 +05:30
Harendra Kumar
a74a0c0844 Rename to Streamly
Streamly is a more appropriate name and conveys the core idea. Stream
concurrently = streamly.
2017-11-20 18:03:13 +05:30
Harendra Kumar
38b5d7ef08 fix test 2017-10-31 16:10:48 +05:30
Harendra Kumar
5fe54c6ca9 Fix zip tests
Parallel generation of streams can have unpredictable order. So use serial
instead.
2017-10-26 13:14:27 +05:30
Harendra Kumar
023a60c23e Split module Prelude into Streams and Prelude 2017-10-26 09:28:34 +05:30
Harendra Kumar
c9a821b9af Add type specific Num instances instead of deriving from base
deriving from base is incorrect since the monad/applicative instances of each
type are different.

Also add test cases for applicative/num instances of each type.
2017-10-25 15:35:57 +05:30
Harendra Kumar
a7b20ad4dc Simlify streaming type class
Use polymorphic functions instead of bunching up all streaming functions in the
type class.
2017-10-25 14:00:22 +05:30
Harendra Kumar
29f64fe8d1 Separate types for different styles of product composition 2017-10-25 08:01:29 +05:30