Commit Graph

67 Commits

Author SHA1 Message Date
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