Michael Walker
bc6ac08c69
Add a 'yield' operation to MonadConc
2015-10-26 19:49:37 +00:00
Michael Walker
ac6b5c5240
Widen 'base' bounds for async-dejafu
2015-10-25 23:04:12 +00:00
Michael Walker
fd35e9c1b4
Add async-dejafu tests
2015-10-25 22:53:54 +00:00
Michael Walker
447013c68d
Remove some extra wrapping with SomeException causing fromException to fail in dejafu
2015-10-25 22:28:16 +00:00
Michael Walker
53e738b066
Remove some needless Eq constraints
2015-10-25 17:05:40 +00:00
Michael Walker
59102efd59
Initial version of async-dejafu
2015-10-25 16:17:41 +00:00
Michael Walker
019d4995a3
Add source-repository head sections to {tasty,hunit}-dejafu cabal files
2015-10-25 13:40:23 +00:00
Michael Walker
7d2ec26a58
Minor hlint fixes
2015-10-23 13:17:04 +01:00
Michael Walker
eeacd85fb3
Fix some warnings
2015-10-15 08:53:22 +01:00
Michael Walker
1790ad2648
Give sctBoundedM the bound function and limit separately
2015-10-15 08:53:18 +01:00
Michael Walker
fa1a1bf350
Keep track of CRef write buffers for backtracking around reads
2015-10-13 15:23:22 +01:00
Michael Walker
04e259d3b3
Distinguish synchronised operations which impose a full barrier
2015-10-13 14:30:46 +01:00
Michael Walker
b634253430
Prune redundant commit actions
2015-10-12 21:48:36 +01:00
Michael Walker
87334b5441
Expose internal modules
2015-10-12 19:00:41 +01:00
Michael Walker
c3b88be909
Simplify dependent/dependent'
2015-10-12 18:55:48 +01:00
Michael Walker
3d5733c756
Add a simpler view of what a thread is doing
2015-10-12 18:55:38 +01:00
Michael Walker
d31ff3bea7
Impose memory barriers around synchronised operations
2015-10-12 18:55:10 +01:00
Michael Walker
783a0af7aa
Add DeriveDataTypeable to tasty-dejafu for GHC<7.10
2015-10-08 21:59:08 +01:00
Michael Walker
a337b872ab
Add Tasty integration
2015-10-08 21:50:52 +01:00
Michael Walker
a4b4b25b71
Drop needless GADTs
2015-10-08 21:47:28 +01:00
Michael Walker
9144ea4cbf
Drop ConcTest/ConcIOTest entirely
2015-10-08 21:15:46 +01:00
Michael Walker
3bb640010a
Don't expose ConcTest/ConcIOTest types
2015-10-08 21:09:48 +01:00
Michael Walker
b899253b04
Add dejafu'/dejafuIO' functions
2015-10-08 15:45:05 +01:00
Michael Walker
6ebff392c3
Share traces for ConcTest
2015-10-08 15:28:02 +01:00
Michael Walker
6c6e0eed01
Hide the type parameter inside ConcTest/ConcIOTest
2015-10-08 15:19:43 +01:00
Michael Walker
1c42618ba7
Include names with HUnit tests,a nd generate TestLists where possible
2015-10-08 15:15:13 +01:00
Michael Walker
a8ce666dc9
Fix build failure in GHC <7.10
2015-10-08 12:33:19 +01:00
Michael Walker
3c9a3f2ec7
Initial implementation of HUnit integration.
...
Note: this BREAKS `cabal/stack test` for dejafu!
See dejafu/README.markdown for the work-around.
2015-10-08 12:05:59 +01:00
Michael Walker
121a59b59d
Stick everything in a dejafu subdirectory
2015-10-05 16:44:14 +01:00
Michael Walker
3e3385d0be
Improve POR for relaxed memory
...
- Refine notion of dependent actions tot ake the memory model into
account.
- Don't consider context switches for commits as viable candidates
for conservative backtracking points.
2015-10-05 16:17:03 +01:00
Michael Walker
4cc5f5c921
Tidy up stepWrite/stepCommit
2015-10-05 16:16:43 +01:00
Michael Walker
0c94c16d16
Move dejafus{,IO}' into different documentation section
2015-10-02 11:27:15 +01:00
Michael Walker
9ce7f51b92
Document default memory model
2015-10-01 16:40:31 +01:00
Michael Walker
a272a0199b
Update documentation
2015-10-01 15:46:50 +01:00
Michael Walker
eb7c663993
Bit of refactoring in Test.DejaFu.Deterministic
2015-10-01 15:11:49 +01:00
Michael Walker
415e238f20
Nicely display commits in traces to users
2015-10-01 15:10:48 +01:00
Michael Walker
615535b49b
Remove _concNoTest
...
It's not clear how it can be safely implemented with the possibility
for relaxed memory effects to occur.
2015-10-01 14:32:36 +01:00
Michael Walker
10a8c5f559
Remove old TODO
2015-10-01 14:23:11 +01:00
Michael Walker
842460daf8
Fix phantom thread numbering at 0
2015-10-01 12:11:33 +01:00
Michael Walker
2529a9e95c
Expose memory model choice in testing functions
2015-10-01 01:23:51 +01:00
Michael Walker
de75c17c0f
Implement phantom threads.
2015-09-30 21:48:18 +01:00
Michael Walker
39ff237422
Expose non-synchronised write primitive
2015-09-30 20:58:52 +01:00
Michael Walker
c51ed65f69
Implement separate write and commit primitives
2015-09-30 20:52:15 +01:00
Michael Walker
24b7cd00c1
Separate writing and committing CRef modifications.
...
This is NOT yet exposed in any interesting way to the user. A separate
commit primitive is needed for that.
2015-09-30 18:09:23 +01:00
Michael Walker
20a54e95da
Suppress some more hlint warnings
2015-09-30 16:55:34 +01:00
Michael Walker
dbc1126466
Parameterise conc runner with memory model to use.
...
Three memory models will eventually be supported:
- SequentialConsistency, which is the current behaviour.
- TotalStoreOrder, where each thread has a write buffer.
- PartialStoreOrder, where each CRef has a write buffer.
The parameter is currently ignored.
2015-09-30 16:51:36 +01:00
Michael Walker
c107f2e6b1
Redefine writeCRef to suffer from relaxed memory issues, add atomicWriteCRef
2015-09-28 15:39:18 +01:00
Michael Walker
c55e0249b3
Release 0.1.0.0
2015-08-27 13:37:20 +01:00
Michael Walker
819cbaebf6
Add Thief of Time quote
2015-08-27 13:33:48 +01:00
Michael Walker
e767326660
Clean up warnings in 7.10
2015-08-27 01:05:59 +01:00