Michael Walker
ab1212ad07
Merge branch 'rename-remodularise'.
...
Closes #36 . Closes #37 .
2016-03-26 06:45:10 +00:00
Michael Walker
3ed2e1e25b
Remove strict Chan and MVar modules
...
If people want strict concurrency types, they can just use $!!
themselves.
2016-03-26 06:43:25 +00:00
Michael Walker
f7d0059b7e
Add CRef module
2016-03-26 06:42:57 +00:00
Michael Walker
5b4911032e
Rename modifyCRef to atomicModifyCRef
2016-03-26 06:37:27 +00:00
Michael Walker
41af1cdaa6
hlint/style fixes
2016-03-26 06:26:28 +00:00
Michael Walker
dd50876d1b
Add strict and normal MVar chans
2016-03-26 06:23:33 +00:00
Michael Walker
d87ae811ca
Add QSem and QSemN
2016-03-26 02:57:40 +00:00
Michael Walker
6a913c96ca
Reduce boilerplate in Conc/STM instance decls
2016-03-24 07:52:10 +00:00
Michael Walker
ad753d1f33
Move Control.Concurrent.STM.Classy -> Control.Concurrent.Classy.STM
2016-03-23 04:38:34 +00:00
Michael Walker
bb291c8128
Add a classy STM TArray
2016-03-23 04:33:20 +00:00
Michael Walker
5d2425e8c2
Add a classy STM TBQueue
2016-03-23 04:28:42 +00:00
Michael Walker
ef133a5d06
Add classy STM TQueue
2016-03-23 04:20:26 +00:00
Michael Walker
1150f2814a
Add a classy STM TChan
2016-03-23 04:13:49 +00:00
Michael Walker
b153a54420
Convention: type variable for a MonadSTM is 'stm'
2016-03-23 04:06:30 +00:00
Michael Walker
c8f04221c8
Add missing TVar functions: readTVarConc + registerDelay
2016-03-23 03:53:11 +00:00
Michael Walker
d5ad25ac98
Rename STMLike -> STM
2016-03-23 03:42:38 +00:00
Michael Walker
a4c2a1c235
Rename CVar -> MVar
2016-03-23 03:36:07 +00:00
Michael Walker
a1a78c7005
Rename CTVar -> TVar
2016-03-23 03:27:51 +00:00
Michael Walker
8b999595e3
Move modules to Control.Concurrent(.STM).Classy
2016-03-23 03:13:56 +00:00
Michael Walker
0ecf3e0ca7
Add TH functions to generate Monad{Conc,STM} instances
2016-03-22 23:41:14 +00:00
Michael Walker
06db0d2218
Move check
out of MonadSTM
.
2016-03-22 22:15:47 +00:00
Michael Walker
3713855195
Add MonadBase IO
instance to ConcIO
2016-03-22 19:12:33 +00:00
Michael Walker
ffca3adeb7
Add threadDelay to MonadConc. Must yield, might not delay.
2016-03-19 21:56:43 +00:00
Michael Walker
d864e2b281
Update docs links
2016-03-18 00:59:52 +00:00
Michael Walker
490a77657e
Add _concMessage, to record information during execution
2016-03-17 00:53:19 +00:00
Michael Walker
d26785636e
Move throw/catch out of MonadConc/MonadSTM
2016-03-12 01:45:07 +00:00
Michael Walker
7e10f9012c
Tidy up Control.Monad.Conc.Class a bit
2016-03-12 01:39:42 +00:00
Michael Walker
820e7bc067
Use toException
2016-03-11 21:58:35 +00:00
Michael Walker
44ee33a5aa
Fix/ignore all hlint warnings
2016-03-10 23:14:17 +00:00
Michael Walker
92338ff81a
Fix all GHC warnings
2016-03-10 23:01:49 +00:00
Michael Walker
50e2868cc2
Drop support for GHC<7.10.
...
This also drops the use of CPP to avoid import warnings, which was a
horrible practice I should never have adopted anyway.
2016-03-10 22:35:40 +00:00
Michael Walker
11dec5243a
Give CTVars names
2016-02-11 20:01:48 +00:00
Michael Walker
293576a245
Record traces for STM transactions. Closes #35 .
2016-02-11 19:39:18 +00:00
Michael Walker
bbfa36aadf
Add comment about free monads vs continuations.
2016-02-11 14:05:28 +00:00
Michael Walker
83a25fd188
Un-hide Control.Concurrent.CVar.Strict. Oops.
2016-02-11 11:58:14 +00:00
Michael Walker
298a783e46
Handle name conflicts
2016-02-09 19:01:00 +00:00
Michael Walker
4237055938
Make 'lineNum' produce a String.
2016-02-09 18:46:03 +00:00
Michael Walker
5acab89d6d
Add support for named threads in testing.
...
This is such a huge change because I had made a LOT of assumptions
about thread IDs being numbers. I also took the opportunity to do
a bit of refactoring with CRef and CVar identifiers.
2016-02-09 18:37:50 +00:00
Michael Walker
077650920e
Add functions to MonadConc and MonadSTM to name things
2016-02-09 17:15:06 +00:00
Michael Walker
00c5b22262
Bump to lts-4
2016-01-30 19:32:47 +00:00
Michael Walker
4ba1e19a53
Remove double traversal of BPOR
2015-12-04 01:12:37 +00:00
Michael Walker
9e21c0546e
Fix detection of aborted branches in toDotSmall
2015-12-04 00:00:33 +00:00
Michael Walker
4cef3c60b8
'grow' doesn't need to keep track of the crstate
2015-12-03 22:42:06 +00:00
Michael Walker
c1d4259178
Don't introduce a dependency for blocked actions
...
This is safe because there's no point pre-empting a block to cause a
context switch, as the context switch will happen immediately after
the block anyway.
This speeds up the Applicative composition test from over 30 minutes
to around 1.
2015-12-03 22:09:09 +00:00
Michael Walker
ef9a89ee9c
Simplify "ap (side effects)" test case
2015-12-03 21:36:07 +00:00
Michael Walker
7ebad3dd88
Store the 'CRState' inside 'BacktrackStep'.
2015-12-03 18:44:35 +00:00
Michael Walker
982ad6daae
Split up 'findBacktrack' a bit
2015-12-03 18:11:35 +00:00
Michael Walker
5217492c24
Remove _bignore. Sleep sets make it largely irrelevant now.
2015-12-02 17:24:13 +00:00
Michael Walker
b3b275cdb1
Add a 'noBounds' binding for convenience.
2015-12-02 14:40:05 +00:00
Michael Walker
a18a7d2fa5
Support unbounded DPOR ( closes #34 )
...
If no bounds are enabled, just backtrack to the point identified.
2015-12-02 14:35:22 +00:00