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
Harendra Kumar
3d171045de
Move APIs conflicting with Prelude to Prelude module
2017-10-18 08:46:18 +05:30
Harendra Kumar
fefc00cf12
Comment out failing tests
...
Still not fixed with the previous change
2017-10-18 02:23:25 +05:30
Harendra Kumar
71b4134867
Do not use a blocking wait when dispatching workers
2017-10-17 07:36:55 +05:30
Harendra Kumar
50e16043f8
Comment out two failing tests
2017-10-14 20:28:55 +05:30
Harendra Kumar
1aa909b949
Add concurrent zipping API
2017-10-14 20:22:50 +05:30
Harendra Kumar
9ac16aa14c
Add serial zipping APIs
...
zipWith, zipWithM and ZipSerial Applicative
2017-10-14 08:32:13 +05:30
Harendra Kumar
e246532213
Add more interleaved tests and mplus tests
2017-10-14 02:53:04 +05:30
Harendra Kumar
c0d2b00e1b
Add tests for functor/applicative/bind with empty/monoid
2017-10-14 02:24:44 +05:30
Harendra Kumar
d1cb4d8695
Fix race condition in a parallel test
2017-09-21 00:12:09 +05:30
Harendra Kumar
5d5eabf58d
Fix a race condition in a parallel test
2017-09-20 23:50:40 +05:30
Harendra Kumar
5919be5b36
Fix append and interleave nested inside parallel
2017-09-20 21:55:01 +05:30
Harendra Kumar
24fa86feb9
Add tests for nested parallel/serial compositions
2017-09-19 22:33:59 +05:30
Sibi Prabakaran
28b206e306
Fix test for composeAndComposeSimple function
...
Not the best way to fix test code and also involves the usage of
partial function, but I guess that's fine for test code.
2017-09-15 23:36:39 +05:30
Harendra Kumar
b477693f84
Add more tests for monoidal compositions
2017-09-14 21:17:34 +05:30
Harendra Kumar
e7e42cb154
Add parallel and interleaved bind operations
2017-09-08 21:29:02 +05:30
Harendra Kumar
154a610eb2
Fix build for ghc-7.10.3
2017-09-05 13:34:39 +05:30
Harendra Kumar
4756d82308
Add back the parallel interleaving test
2017-09-05 10:58:00 +05:30
Harendra Kumar
e2b1e4c45d
Fix worker dispatch
2017-09-05 10:50:20 +05:30
Harendra Kumar
ed5f00d575
cleanup tests
2017-09-04 17:20:10 +05:30
Harendra Kumar
09a717ced9
Add take and drop operations
2017-09-04 06:05:34 +05:30
Harendra Kumar
1f645071b5
rearrange tests
2017-09-03 16:18:00 +05:30
Harendra Kumar
e43f6e46ab
disable parallel interleave test
...
It does not work reliably
2017-09-01 19:12:50 +05:30
Harendra Kumar
c99b575051
Fix type signatures in tests
2017-08-31 02:09:53 +05:30
Harendra Kumar
a923ae8e72
reorganize tests and reuse the same tests for all ops
2017-08-30 14:58:51 +05:30
Harendra Kumar
c81684d415
Add left biased combinator and some utilities
...
Remove 'for' and 'each'
2017-08-29 10:44:03 +05:30
Harendra Kumar
5f1dc97a9a
Add interleaved composition
2017-08-29 07:55:26 +05:30
Harendra Kumar
d4363a8ad7
Add loop tests
2017-08-28 02:09:08 +05:30
Harendra Kumar
2cc5c120ac
Move a test code block
2017-08-27 08:08:48 +05:30
Harendra Kumar
ab91267967
Add test case for hierarchical alternative composition
2017-08-25 23:38:06 +05:30
Harendra Kumar
a61b30ba71
Fix, delete, move examples
2017-08-24 03:45:29 +05:30
Harendra Kumar
d8c399e567
Implement tracking and killing of child threads
2017-08-22 21:45:58 +05:30
Harendra Kumar
09283c42ac
Implement pull based concurrency rate control
2017-08-21 21:10:09 +05:30
Harendra Kumar
500d889859
Simplify push-pull split, fix monoid instance
2017-08-18 07:12:29 +05:30
Harendra Kumar
63f965a784
cleanup Monoid instance
2017-08-17 01:43:14 +05:30
Harendra Kumar
8a1d5d995e
Add a test for "each" to test multiple threads
2017-08-16 14:53:30 +05:30
Harendra Kumar
550eed458f
Make monoid instance append two computations in order
...
Conflicts:
test/Main.hs
2017-08-15 18:41:20 +05:30
Harendra Kumar
ef006c846d
Implement fork for Alternative instance
2017-08-15 18:36:26 +05:30
Harendra Kumar
f8851aa158
Add MonadRecorder instance to AsynclyT
2017-08-09 18:21:28 +05:30
Harendra Kumar
4f3775d51f
Enable threads API and tests
2017-08-09 17:44:05 +05:30
Harendra Kumar
7e8209e2d6
Separate the State layer from AsyncT layer
...
Performance degrades by 2x
StateT/AsyncT combined = 560 ms
Separated AsyncT (StateT Context IO) = 1.2 s
AsyncT IO in the separated version = 400 ms
2017-08-07 19:55:38 +05:30
Harendra Kumar
11c1f14755
Add some simple tests
2017-08-07 15:14:41 +05:30
Harendra Kumar
8340241116
Split the logging functionality into a separate package
2017-07-13 18:21:26 +05:30
Harendra Kumar
c60d15c39a
Add "afterFirst" run an action after first event
2017-07-08 15:39:38 +05:30
Harendra Kumar
922c9ed018
Fix, cleanup and test discarding compositions
2017-07-08 14:09:43 +05:30
Harendra Kumar
f5cfead136
Alternative now forks automatically
...
Alternative "can" fork an action
`async` primitive is used to force an action to be async
2017-07-08 07:31:49 +05:30
Harendra Kumar
6c12266b1f
Add more tests
2017-07-03 08:08:22 +05:30
Harendra Kumar
1e4950dac0
Simplify continuation saving and retrieval
...
Reduce untyped fields in the context
Merge Context.hs to AsyncT.hs
2017-07-03 05:16:26 +05:30
Harendra Kumar
f4237bfab3
rename to asyncly
2017-07-01 02:02:39 +05:30
Harendra Kumar
0e80adf13f
Add test suite
2017-07-01 01:37:25 +05:30
Harendra Kumar
fe02431534
Keep just one basic async primitive, remove the rest
2017-07-01 01:35:49 +05:30
Harendra Kumar
120d0ed5f0
Add API to gather results of multiple computations
2017-06-29 05:40:29 +05:30
Harendra Kumar
afbd289a89
More complicated logging tests
2017-06-29 05:21:50 +05:30
Harendra Kumar
760a298598
rename APIs
2017-06-29 05:21:11 +05:30
Harendra Kumar
f455a06d0a
Make logs work with regular wait/gather APIs too
2017-06-29 03:59:27 +05:30
Harendra Kumar
a9d6c29ba7
implement log replay
2017-06-29 03:32:48 +05:30
Harendra Kumar
bf5a11889e
Add logging APIs
2017-06-28 21:40:09 +05:30
Harendra Kumar
594185f18d
Add applicative and alternative tests
2017-06-26 03:15:27 +05:30
Harendra Kumar
b9c1c92dc0
Add the wait primitive to discard the results
2017-06-26 03:14:36 +05:30
Harendra Kumar
d4f2fec43f
Rename the monad runner to 'gather'
2017-06-26 02:21:53 +05:30
Harendra Kumar
8a0fdb3abd
Refactor/fix returning results from child threads
2017-06-25 21:23:14 +05:30
Harendra Kumar
3d530e0fe3
Rename the package to "strands"
2017-06-24 17:43:59 +05:30
Harendra Kumar
9779a0b082
Pass results from children to parent
2017-06-22 13:11:29 +05:30
Harendra Kumar
4adbddf74c
Add context save, restore and continue functions
...
Modularize the context functionality
2017-06-11 02:56:22 +05:30
Harendra Kumar
2f8342633c
Add some sample test programs
2017-06-07 21:07:13 +05:30