Commit Graph

1205 Commits

Author SHA1 Message Date
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
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
746f3b2a23 Remove redundant Typeable constraint 2017-06-28 21:44:02 +05:30
Harendra Kumar
bf5a11889e Add logging APIs 2017-06-28 21:40:09 +05:30
Harendra Kumar
3a988778f6 Remove redundant stuff from Log.hs 2017-06-26 18:27:12 +05:30
Harendra Kumar
b2f67d3482 Put Log.hs in order 2017-06-26 18:03:01 +05:30
Harendra Kumar
6afc667110 Add comments 2017-06-26 15:30:48 +05:30
Harendra Kumar
1b31d0baf1 Move an unsafeCoerce to a better place 2017-06-26 15:24:26 +05:30
Harendra Kumar
3251739569 Remove parentChannel from context 2017-06-26 15:18:38 +05:30
Harendra Kumar
e41e3151ae Simplify result passing, direct to the IORef 2017-06-26 15:02:44 +05:30
Harendra Kumar
467a301542 Move the user state related stuff out of Context.hs 2017-06-26 03:27:58 +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
9915f732f1 fix dev documentation 2017-06-26 00:58:01 +05:30
Harendra Kumar
3103c1c82e rename resumeContext to composeContext 2017-06-26 00:15:03 +05:30
Harendra Kumar
76cd2cc2e0 Minor refactor 2017-06-25 23:34:17 +05:30
Harendra Kumar
ef686400b4 Reorganize modules 2017-06-25 23:25:38 +05:30
Harendra Kumar
608d3efcfa Reorganize modules 2017-06-25 21:45:32 +05:30
Harendra Kumar
8a0fdb3abd Refactor/fix returning results from child threads 2017-06-25 21:23:14 +05:30
Harendra Kumar
f49eccb296 Fix context propagation in case of loopContextWith 2017-06-25 04:42:37 +05:30
Harendra Kumar
3d530e0fe3 Rename the package to "strands" 2017-06-24 17:43:59 +05:30
Harendra Kumar
5cde66cde5 Make sure the results are passed on to parents in all cases
In both async and sync invocation of an action.
2017-06-24 17:26:40 +05:30
Harendra Kumar
82e0996582 cleanup/refactor mailbox related functionality 2017-06-22 19:03:50 +05:30
Harendra Kumar
5522fb0979 Use MonadPlus instead of Alternative 2017-06-22 17:58:56 +05:30
Harendra Kumar
38b148f7c5 Do not use IORef for results 2017-06-22 17:44:33 +05:30
Harendra Kumar
cad6f1913b remove stop 2017-06-22 13:12:42 +05:30
Harendra Kumar
9779a0b082 Pass results from children to parent 2017-06-22 13:11:29 +05:30
Harendra Kumar
c49bcc7406 Pass on exceptions and results from child to parent 2017-06-21 15:15:21 +05:30
Harendra Kumar
6fd665167e Add some comments 2017-06-20 18:17:31 +05:30
Harendra Kumar
da2491da43 Return a maybe value from resumed context
- it will be useful for returning values from a computation continued in a new
  thread.
2017-06-20 18:16:42 +05:30
Harendra Kumar
11deaa73be rename function to appropriate name 2017-06-20 13:42:35 +05:30
Harendra Kumar
1b2ac02e4e rename for clarity 2017-06-14 00:31:07 +05:30
Harendra Kumar
6a572e5279 Refactor, simplify forking the context 2017-06-14 00:27:29 +05:30
Harendra Kumar
bb402cb4d7 Fix react 2017-06-12 02:01:54 +05:30
Harendra Kumar
a439149806 Refactor forking and context resumtpion 2017-06-12 01:51:23 +05:30
Harendra Kumar
4eda27263c Rename variables, add comments 2017-06-11 21:22:20 +05:30
Harendra Kumar
9f2c3c23c1 rename location attributes and context resumption 2017-06-11 17:07:52 +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
a39705bb0d More refactor, reorg, remove additonalOperators class 2017-06-10 17:08:12 +05:30
Harendra Kumar
a00f8c58bf Change coerced type for illustrative purpose 2017-06-10 16:48:04 +05:30
Harendra Kumar
dcb01042cd remove mfSequence 2017-06-10 16:45:48 +05:30
Harendra Kumar
70c2917343 rename EventF to Context 2017-06-10 16:41:30 +05:30
Harendra Kumar
0a69aecc0f Refactor, simplify, add comments 2017-06-10 16:34:31 +05:30
Harendra Kumar
dde36a399e Simplify applicative and monad instances 2017-06-10 02:45:24 +05:30
Harendra Kumar
3744363427 Remove the parent pointer from EventF 2017-06-08 01:23:06 +05:30
Harendra Kumar
45e820430e Remove threadId from EventF 2017-06-08 00:53:20 +05:30
Harendra Kumar
e4bbcd6b4d Format import list 2017-06-08 00:35:56 +05:30
Harendra Kumar
df9febd5bd Use threadId tracking instead of EventF for children 2017-06-08 00:34:20 +05:30
Harendra Kumar
1bcf579e4b Kill children on exception 2017-06-07 23:54:33 +05:30
Harendra Kumar
7ae04e3124 Add some notes and minor fixes 2017-06-07 23:37:58 +05:30
Harendra Kumar
aaeeec5fca Remove some redundant code 2017-06-07 21:27:18 +05:30
Harendra Kumar
b90da15d00 Initial commit
A simplified, refactored and modified version of transient.  Significant
differences from transient include:

1) Supports transformer stack
2) Each thread waits for its child threads to complete before exiting
2017-06-07 21:02:27 +05:30