Commit Graph

1412 Commits

Author SHA1 Message Date
Michael Walker
b7c7c6cd9d
Merge pull request #310 from barrucadu/dpor
Fix an error message
2020-02-26 16:45:47 +00:00
Michael Walker
774ffdcbe4 dejafu-2.1.0.3 2020-02-26 16:27:36 +00:00
Michael Walker
20d13cf607 Remove initialDPORThread
This is an artefact of when 'dpor' was a separate library, it's not
adding anything now.
2020-02-26 16:27:36 +00:00
Michael Walker
50ff913542 Fix todo / done disjoint error 2020-02-26 16:15:01 +00:00
Michael Walker
15a88d5ac6
Merge pull request #308 from barrucadu/concurrency-1.9.0.0
Concurrency 1.9.0.0
2020-02-26 16:07:46 +00:00
Michael Walker
73bd07e98b concurrency-1.9.0.0, dejafu-2.1.0.2 2020-02-26 15:25:10 +00:00
Michael Walker
9a888846d7 Optimise peekTQueue / peekTBQueue
See stm/eeed986, stm/2636e45
2020-02-26 15:25:10 +00:00
Michael Walker
198c668f99 Use Natural for TBQueue sizing
See stm/2221948
2020-02-26 15:25:10 +00:00
Michael Walker
a55feaa60c Remove reference to always and alwaysSucceeds
These have been removed from the stm package.
2020-02-26 15:25:10 +00:00
Michael Walker
5cd88d4be2
Merge pull request #309 from barrucadu/lts-versions
LTS versions
2020-02-26 15:20:54 +00:00
Michael Walker
1be7e04ff2 Reword supported versions paragraph
The window of support is now entirely after GHC 8.
2020-02-26 14:55:28 +00:00
Michael Walker
2f06b7916c Use LTS 15.0 for GHC 8.8 2020-02-26 14:55:27 +00:00
Michael Walker
6b101865d8
Merge pull request #306 from barrucadu/msw/hedgehog-1.0.2
Get dejafu-tests building with hedgehog-1.0.2
2020-02-20 23:07:50 +00:00
Michael Walker
03f0e63b8b Fix new lints
There is a change to 'concurrency' here, but I don't think it's worth
making even a patch release.
2020-02-20 22:54:12 +00:00
Michael Walker
cef95c83c8 Get dejafu-tests building with hedgehog-1.0.2
tasty-hedgehog is now in stackage, so it would be great to use that;
but it's not in *older* stackages, hmm...
2020-02-20 22:13:48 +00:00
Michael Walker
1e016e09bb
Merge pull request #304 from barrucadu/newtvarconc
Add newTVarConc to MonadConc
2019-11-16 14:59:15 +00:00
Michael Walker
165155da9c concurrency-1.8.1.0 release 2019-11-16 14:34:22 +00:00
Michael Walker
7202b3eb77 Add newTVarConc
Closes #303
2019-11-16 14:34:22 +00:00
Michael Walker
f208e946c0
Merge pull request #301 from barrucadu/msw/nightly-2019-10-02
Support GHC 8.8
2019-10-04 20:04:37 +01:00
Michael Walker
3947c19ba3 concurrency-1.8.0.0 & dejafu-2.1.0.1 release 2019-10-04 18:22:15 +01:00
Michael Walker
244d2af3a0 Start supporting GHC 8.8 2019-10-04 18:22:15 +01:00
Michael Walker
0046a2b6e0 Fix hedgehog-1.0.0 test compilation failures 2019-10-04 18:21:50 +01:00
Michael Walker
ab5daf1509 Fix GHC 8.8 test compilation failures 2019-10-04 18:21:50 +01:00
Michael Walker
b8005defd5 Conditionally exclude 'fail' for Program, Invariant, and STM 2019-10-04 18:21:50 +01:00
Michael Walker
732bce8f7b Add MonadFail constraints to newQSem and newQSemN 2019-10-04 18:21:50 +01:00
Michael Walker
ab32de7c7f Add MonadFail instances to IsConc and IsSTM 2019-10-04 18:21:50 +01:00
Michael Walker
eed31f9f8e
Merge pull request #300 from barrucadu/ci-fixes
Fix CI issues
2019-10-04 18:21:00 +01:00
Michael Walker
290aef7473 Add lints for law tests 2019-10-04 18:07:02 +01:00
Michael Walker
420d1f02b1 Disable weeder in CI linting
It's reporting that every module is unused, which isn't true.  The
weeder README says this is still the correct way to do things, so I'm
not sure what's going on.
2019-10-04 16:58:19 +01:00
Michael Walker
47dc671ed4 Don't warn on unused imports in CI
Different imports are needed by different library versions.  Adding
CPP to conditionally remove an include is over-complicating matters.
2019-10-04 16:58:11 +01:00
Michael Walker
5553643177 Pin stack version in CI 2019-10-04 16:57:58 +01:00
Michael Walker
1a4f99de9c
Merge pull request #299 from barrucadu/make-dejafu-pure-again
Make dejafu pure again
2019-03-24 02:49:25 +00:00
Michael Walker
a7869aba17 concurrency-1.7.0.0, dejafu-2.1.0.0, {hunit,tasty}-dejafu-2.0.0.1 2019-03-24 02:29:43 +00:00
Michael Walker
7b72e28544 Add some tests for MonadDejaFu IO & ST 2019-03-24 02:29:43 +00:00
Michael Walker
1afe59feb7 Remove unused -Wno-deprecations flag 2019-03-24 02:29:43 +00:00
Michael Walker
62b109ed8e Update dejafu changelog 2019-03-24 02:29:43 +00:00
Michael Walker
ad054269da Document MonadDejaFu class 2019-03-24 00:57:05 +00:00
Michael Walker
50842f446f Implement a pure (ST-based) MonadDejaFu 2019-03-19 22:19:40 +00:00
Michael Walker
88c47527af Implement forkOS exception in stepThread 2019-03-19 22:19:40 +00:00
Michael Walker
6128449c7f Implement dejafu in terms of a "MonadDejaFu" class
dejafu needs a few things which can't be implemented purely:

- mutable references
- bound threads

Mutable references used to come from the MonadRef class, but with the
introduction of bound threads in 1.0.0.0, it seemed easiest to use a
MonadConc as the underlying monad.  This also allowed simplifying the
API a lot, and was generally a good move.

But it lost purity.  By *requiring* bound threads be supported by the
base monad, ST was out.

Making bound threads optional (by moving rtsSupportsBoundThreads into
MonadConc and introducing an additional layer of abstraction in
dejafu) makes it possible to recover purity.  Pure implementations
just won't support bound threads.
2019-03-19 22:19:40 +00:00
Michael Walker
a34bfbb666 Implement supportsBoundThreads in terms of supportsBoundThreads 2019-03-19 22:19:40 +00:00
Michael Walker
959dafbdc1 Add monadic variant of rtsSupportsBoundThreads
The "pure" rtsSupportsBoundThreads has been deprecated.
2019-03-19 22:19:40 +00:00
Michael Walker
0b6a5ded55
Merge pull request #297 from barrucadu/throwTo-self
Make (myThreadId >>= killThread) interrupt a mask
2019-03-14 13:36:19 +00:00
Michael Walker
59245d184b dejafu-2.0.0.1 2019-03-14 12:38:07 +00:00
Michael Walker
8a2f9fc250 Make (myThreadId >>= killThread) interrupt a mask
From Control.Exception:

> Note that if `throwTo` is called with the current thread as the
> target, the exception will be thrown even if the thread is currently
> inside `mask` or `uninterruptibleMask`.
2019-03-14 11:36:43 +00:00
Michael Walker
626ce585d3 Add failing test for #267 2019-03-14 11:20:37 +00:00
Michael Walker
03d03f3e5b
Merge pull request #296 from barrucadu/2000
dejafu-2.0.0.0
2019-02-12 23:29:12 +00:00
Michael Walker
224b6c8d1b Remove unused Snap constructor 2019-02-12 22:57:38 +00:00
Michael Walker
2a42fe8d68 Travis - don't build / run tests for the PR as well as the commit 2019-02-12 22:33:25 +00:00
Michael Walker
dedc6b0c3a Travis doctest / lint / test in parallel
Something seems up with caching in travis, so do all these things in
parallel to reduce wait times.
2019-02-12 22:21:05 +00:00