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
Michael Walker
4779ac07e5
Improve documentation and instances
2015-08-27 00:41:53 +01:00
Michael Walker
f8056f13b9
Add efficient Foldable.toList for NonEmpty when GHC >= 7.10
2015-08-27 00:18:48 +01:00
Michael Walker
5ff263d96f
Rename ThreadAction' to Lookahead
2015-08-26 22:48:38 +01:00
Michael Walker
a1144610b2
General tidying ahead of release
2015-08-26 11:56:26 +01:00
Michael Walker
55a6239503
Update build status link in README
2015-08-16 00:19:05 +01:00
Michael Walker
046847c714
Upgrade to Stackage LTS 3.0
2015-08-15 23:45:22 +01:00
Michael Walker
3544ad08c3
Fix compiler warnings
2015-08-14 15:50:11 +01:00
Michael Walker
15fb0c391b
Drop the default implementations of putCVar and takeCVar
2015-08-14 15:27:50 +01:00
Michael Walker
faa0febdba
Fix some inconsistencies in class docs
2015-08-14 15:26:43 +01:00
Michael Walker
4a76ecedcc
Add Applicative constraint to classes for pre-AMP GHC
2015-08-14 15:25:06 +01:00
Michael Walker
0e558b271f
Handle exceptions in CVar functions as in MVar functions
2015-08-14 15:06:03 +01:00
Michael Walker
dea286a582
Add Functor context to sctBoundedM for pre-AMP GHC
2015-08-10 10:37:42 +01:00
Michael Walker
d32ee150bd
Reduce code duplication with Identity monad
2015-08-09 21:00:11 +01:00