Commit Graph

1113 Commits

Author SHA1 Message Date
Michael Walker
1e3220a9a5 Copy non-breaking changes from stm package 2018-09-22 22:30:49 +01:00
Michael Walker
d7a32d1206 Add missing Control.Concurrent.Classy.STM.TSem module
Closes #287
2018-09-22 22:30:49 +01:00
Michael Walker
472820aa8b Bump upper bound of 'stm' 2018-09-22 21:35:48 +01:00
Michael Walker
5414165472
Merge pull request #285 from barrucadu/release-process
Update release process docs for automatic hackage deployment
2018-07-15 14:58:27 +01:00
Michael Walker
2858ccb87e Update release process docs for automatic hackage deployment 2018-07-15 13:39:38 +01:00
Michael Walker
c499ccb0b9
Merge pull request #284 from barrucadu/275-commit-collapsing
Only collapse commits and barriers where sound
2018-07-15 12:57:25 +01:00
Michael Walker
c1a66d2a02 dejafu-1.11.0.3 release 2018-07-15 11:56:57 +01:00
Michael Walker
248f3b8379 Prune commits before barriers if there are no other buffered writes
It's only sound to remove a commit if there are no other buffered
writes for that `IORef`.  Say we have a `IORef` with two buffered
writes, followed by a memory barrier, we get (amongst others) these
two trace fragments:

    C1  ->  barrier        = C2 wins
    C2  ->  barrier        = C1 wins

If we collapse these two to just `barrier`, then we will only get one
of the results.
2018-07-15 11:36:15 +01:00
Michael Walker
65ac6ab18b Track how many buffered writes an IORef has 2018-07-15 11:32:28 +01:00
Michael Walker
27613edd37 Rename 'updateCRState' to 'updateIOState' 2018-07-15 11:08:00 +01:00
Michael Walker
35b9be3163
Merge pull request #282 from barrucadu/ghc-84
Use lts-12.0 for GHC 8.4
2018-07-10 00:01:34 +01:00
Michael Walker
a2b9684fb2 Bump stack.yaml to GHC 8.4 2018-07-09 22:49:50 +01:00
Michael Walker
500467c2b0 Add lts-12.0 to the supported versions list 2018-07-09 22:49:30 +01:00
Michael Walker
1be587b90c Use lts-12.0 in Travis for GHC 8.4 build 2018-07-09 22:49:01 +01:00
Michael Walker
3ceb419e7c Travis: third time lucky 2018-07-08 21:08:20 +01:00
Michael Walker
8b152bb7b3
Merge pull request #281 from barrucadu/travis-deploy
Fix travis deploy
2018-07-08 19:36:39 +01:00
Michael Walker
0f44af673d Do not echo hackage password 2018-07-08 19:15:34 +01:00
Michael Walker
00e80ceeaa Make hackage password available in all build stages 2018-07-08 19:15:19 +01:00
Michael Walker
193bfbbd71
Merge pull request #280 from barrucadu/278-profunctors
Set upper bound on profunctors to <6
2018-07-08 18:58:11 +01:00
Michael Walker
766e287001 dejafu-1.11.0.2 release 2018-07-08 14:36:57 +01:00
Michael Walker
15cbcf22c4 Set upper bound on profunctors to <6 2018-07-08 13:05:38 +01:00
Michael Walker
ee5f8e11d8
Merge pull request #279 from barrucadu/261-continuous-deployment
Continuous deployment to Hackage
2018-07-08 13:03:06 +01:00
Michael Walker
ef3f850777 Upload to Hackage on successful master build 2018-07-08 12:41:43 +01:00
Michael Walker
f48b8301e3 Add a "predeploy" Travis build for PRs and master 2018-07-08 12:41:43 +01:00
Michael Walker
63b3838a72 Disable "infix" lint 2018-07-08 11:52:17 +01:00
Michael Walker
246a5459de
Merge pull request #277 from barrucadu/contravariant-1.5
contravariant-1.5
2018-07-02 22:16:13 +01:00
Michael Walker
b0065eb4f4 dejafu-1.11.0.1 release 2018-07-02 21:52:51 +01:00
Michael Walker
161299636d Allow contravariant < 1.6 2018-07-02 21:52:32 +01:00
Michael Walker
fb43e90097
Merge pull request #276 from barrucadu/274-ioref
Rename CRef to IORef
2018-07-01 14:02:53 +01:00
Michael Walker
0088f21ade concurrency, dejafu, hunit-dejafu, tasty-dejafu release 2018-07-01 13:31:23 +01:00
Michael Walker
747b177271 Add deprecated CRef aliases 2018-07-01 13:06:47 +01:00
Michael Walker
039295ef41 Rename CRef to IORef 2018-07-01 12:45:43 +01:00
Michael Walker
8d6735b7c8
Merge pull request #273 from barrucadu/99-benchmarks
Turn all the tests into benchmarks
2018-06-24 12:16:39 +01:00
Michael Walker
38ee90cee8 Turn all tests into benchmarks 2018-06-24 11:34:31 +01:00
Michael Walker
ccb4b9aa24 Split up dejafu-tests main 2018-06-24 11:29:02 +01:00
Michael Walker
8b6622b820
Merge pull request #272 from barrucadu/269-docs
Remove reference to nonexistent *IO functions
2018-06-17 15:49:15 +01:00
Michael Walker
f5fa2ff73b Remove reference to nonexistent *IO functions
Closes #269
2018-06-17 14:46:03 +01:00
Michael Walker
cbbebdaf5e
Merge pull request #271 from barrucadu/224-safe-io
Add a "safe IO" flag
2018-06-17 14:20:35 +01:00
Michael Walker
c1fd195c02 dejafu-1.10.1.0 release 2018-06-17 14:02:26 +01:00
Michael Walker
ec11aa7baf Enable systemtic par monad test 2018-06-17 13:28:50 +01:00
Michael Walker
92c8d941e7 Do not consider safe IO dependent 2018-06-17 12:49:15 +01:00
Michael Walker
0952b3799a Add a "safe IO" flag
This is only sound to enable when all lifted IO is thread-safe.
2018-06-17 12:28:48 +01:00
Michael Walker
6966c377b6
Merge pull request #270 from barrucadu/259-failures
Highlight failures in tests
2018-06-17 11:41:10 +01:00
Michael Walker
93f284b366 dejafu-1.10.0.0, hunit-dejafu-1.2.0.5, tasty-dejafu-1.2.0.6 release 2018-06-17 11:21:43 +01:00
Michael Walker
118d7780a6 Fix hlint errors 2018-06-17 11:21:43 +01:00
Michael Walker
fb8cf263ec Add notAlwaysSame{On,By} to the docs 2018-06-17 11:10:59 +01:00
Michael Walker
f263166a45 Invert the predicate in notAlwaysSame
I think having `alwaysSameBy f` and `notAlwaysSameBy f` be inverse of
each other is better than `notAlwaysSameBy (\a b -> not (f a b))`.
2018-06-10 22:30:02 +01:00
Michael Walker
54d64a16b4 Add predicate unit tests 2018-06-10 22:30:02 +01:00
Michael Walker
91ebbe980f Use 'successful' in autocheck 2018-06-10 14:57:25 +01:00
Michael Walker
2e933e89b7 Add inverted variants of alwaysSame/By/On predicates 2018-06-10 14:53:27 +01:00