Commit Graph

95 Commits

Author SHA1 Message Date
Michael Walker
349767a7b6 Remove use of const in concurrency (fix for GHC 9.0)
Type inference seems to fall down with the rank-n type of
`forkWithUnmask` + `const`:

    Control/Monad/Conc/Class.hs:525:27: error:
        • Couldn't match type ‘b5’ with ‘forall a. m a -> m a’
          Expected: (forall a. m a -> m a) -> m ()
            Actual: b5 -> m ()
          Cannot instantiate unification variable ‘b5’
          with a type involving polytypes: forall a. m a -> m a
        • In the first argument of ‘forkWithUnmask’, namely ‘(const ma)’
          In the expression: forkWithUnmask (const ma)
          In an equation for ‘fork’: fork ma = forkWithUnmask (const ma)
        • Relevant bindings include
            ma :: m () (bound at Control/Monad/Conc/Class.hs:525:6)
            fork :: m () -> m (ThreadId m)
              (bound at Control/Monad/Conc/Class.hs:525:1)
        |
    525 | fork ma = forkWithUnmask (const ma)
2021-03-14 00:08:18 +00:00
Michael Walker
cc129ed569 concurrency-1.11.0.0 2020-05-14 13:35:52 +01:00
Michael Walker
bad607e9c3 Add interruptible to Control.Monad.Conc.Class 2020-05-14 13:32:47 +01:00
Mitchell Rosen
f2a9dec759 Add unsafeUnmask to MonadConc 2020-05-14 13:15:02 +01:00
Michael Walker
f930c8c15f concurrency-1.10.0.0 2020-05-10 22:47:47 +01:00
Michael Walker
810fedc034 Add getMaskingState to MonadConc 2020-05-10 22:47:47 +01: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
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
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
3947c19ba3 concurrency-1.8.0.0 & dejafu-2.1.0.1 release 2019-10-04 18:22:15 +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
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
959dafbdc1 Add monadic variant of rtsSupportsBoundThreads
The "pure" rtsSupportsBoundThreads has been deprecated.
2019-03-19 22:19:40 +00:00
Michael Walker
d6164a4e9b concurrency-1.6.2.0 release 2018-11-28 19:08:08 +00:00
Giles Pirio
f851ac0a75 Linting issues 2018-11-28 10:35:22 -08:00
Giles Pirio
c21655f737 BoundedChan and locks primitives 2018-11-28 10:35:22 -08:00
Michael Walker
7a54046d37 concurrency-1.6.1.0 2018-09-22 23:59:35 +01:00
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
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
0e00f8aec3 Prepare releases 2018-03-28 19:05:15 +01:00
Michael Walker
d9fb307356 Move fork, forkOn & forkOS out of MonadConc
Closes #132
2018-03-25 10:28:20 +01:00
Michael Walker
0486ac86c5 Add forkOSWithUnmask(N) 2018-03-25 10:28:20 +01:00
Michael Walker
35c2069b89 Drop GHC 7.10 support 2018-03-25 10:28:20 +01:00
Michael Walker
2d8127774f Fix HLint errors 2018-03-24 23:14:04 +00:00
Michael Walker
34f6358e86 Remove mentions of docs.barrucadu.co.uk 2018-03-11 22:49:51 +00:00
Michael Walker
426fc4e1a1 Prepare concurrency, dejafu, hunit-dejafu releases 2018-03-11 20:19:04 +00:00
Michael Walker
cf6fa780c4 Bump exceptions upper bound in concurrency 2018-03-11 20:05:58 +00:00
Michael Walker
75a02b90da Prepare release of concurrency, dejafu, and hunit-dejafu 2018-02-26 20:10:53 +00:00
Michael Walker
020933751c Bump upper bound of exceptions for concurrency 2018-02-26 19:57:26 +00:00
Michael Walker
06e1155de8 Fix incorrect changelog date of concurrency-1.4.0.0 2018-02-18 10:41:24 +00:00
Michael Walker
25ba98509f Rewrite concurrency changelog 2018-02-15 21:06:54 +00:00
Michael Walker
5237effb06 concurrency-1.4.0.0 / dejafu-1.0.0.1 joint release 2018-01-19 17:13:45 +00:00
Michael Walker
7a13b106d9 Add note about instance deriving to Monad{Conc,STM} docs 2018-01-19 16:45:38 +00:00
Michael Walker
d62f0c24d8 Make it possible to derive MonadConc instances 2018-01-19 16:30:04 +00:00
Michael Walker
1fc895cbd5 concurrency-1.3.0.0 release 2017-12-23 13:13:47 +00:00
Michael Walker
f310c60bc5 Update copyright years 2017-12-13 07:24:18 +00:00
Michael Walker
5ee2590f0e Rework docs
Closes #146
Closes #147
Closes #156
2017-12-12 14:07:22 +00:00
Michael Walker
3348c4705c Add bound-thread async function variants 2017-12-12 14:06:59 +00:00
Michael Walker
45256193c0 Implement bound threads
This also adds forkOS(N) and isCurrentThreadBound to MonadConc, a
breaking change.

Note: forkOSWithUnmask(N) is NOT added to MonadConc, as it isn't
supported in base-4.8 (GHC 7.10).  See #132 for the action on this.

A bound thread under test gets a dedicated worker thread, which is
forked bound using the underlying MonadConc.  This worker is used for
all lifted actions, with execution as normal otherwise.
2017-12-12 14:06:59 +00:00
Michael Walker
99cae72b42 Pick version numbers for next-supermajor release 2017-12-12 14:06:59 +00:00
Michael Walker
e2a8882764 concurrency-1.2.3.0 release 2017-11-30 21:25:51 +00:00