Michael Walker
39b1fe0c80
Inline most of stepThread
.
2017-02-05 15:37:40 +00:00
Michael Walker
9e4d808d54
Refactor runThreads
to allocate fewer lists.
2017-02-02 22:03:59 +00:00
Michael Walker
a77a4d83a9
Refactor runThreads
and stepThreads
to use a context record.
2017-02-02 21:33:18 +00:00
Michael Walker
5114fd37a1
Make things monomorphic over the STM type.
...
Only `STMLike n r` is used, so passing around the type variable and
STM runner is just noise.
2017-02-02 14:45:24 +00:00
Michael Walker
1b0adc541d
tid /= initialThread
is only possible if M.size threads > 1
2017-02-02 14:37:08 +00:00
Michael Walker
8fd3e5900b
Messy implementation of subconcurrency
.
...
This makes `stepThread` messier, and doesn't actually prevent nesting
currently - although it does prevent usage when there are multiple
threads, which may be enough.
2017-02-02 12:26:40 +00:00
Michael Walker
68e2372cfc
Skeleton implementation of subconcurrency
: always fails.
2017-02-02 02:23:25 +00:00
Michael Walker
26b5b26900
Detect some missing CRef dependencies.
2017-01-13 01:43:00 +00:00
Michael Walker
f48b462a07
Merge pull request #60 from barrucadu/merge-dpor
...
Merge dpor into dejafu
2016-12-05 09:18:31 +00:00
Michael Walker
7101eefecb
Unexport some things.
2016-12-05 07:48:27 +00:00
Michael Walker
ad4d6aa07e
Specialise and partially-evaluate SCT.Internal functions.
2016-12-05 07:48:27 +00:00
Michael Walker
bc98b422bb
Skip testing old dejafu versions.
...
Also make sure concurrency builds before trying dejafu.
2016-12-05 07:48:19 +00:00
Michael Walker
5accde895e
Specialise types in 'Test.DPOR.Internal' and rename.
...
This breaks backwards compatibility, as things which were polymorphic
are no longer.
2016-12-05 07:36:00 +00:00
Michael Walker
1fc5aa5565
Rename 'Test.DPOR.Schedule' to 'Test.DejaFu.Schedule'
2016-12-05 07:36:00 +00:00
Michael Walker
db5d5cda17
Merge 'Test.DPOR' with 'Test.DejaFu.SCT'.
2016-12-05 07:35:59 +00:00
Michael Walker
0418f28507
Drop 'Test.DPOR.Random' module.
2016-12-05 07:35:59 +00:00
Michael Walker
f684320fc7
Merge dpor into dejafu.
2016-12-05 07:35:56 +00:00
Michael Walker
49ab3aa8fa
Document necessity of 'tryDaemons', and simplify.
2016-12-04 19:04:37 +00:00
Michael Walker
d794a7ea0d
(travis) fetch GHC with stack.
2016-10-22 16:02:31 +01:00
Michael Walker
be5c51df3d
HUnit-1.4/5 compat.
2016-10-22 14:36:10 +01:00
Michael Walker
7b75c5f0b5
Build on travis with lts-7.
2016-09-16 01:55:32 +01:00
Michael Walker
51e4cb51aa
I accidentally a word.
2016-09-10 13:58:59 +01:00
Michael Walker
78834ca770
Document why to use concurrency over alternatives.
2016-09-10 12:39:34 +01:00
Michael Walker
a0181bde42
Document transformer instance behaviour with fork.
2016-09-10 12:25:34 +01:00
Michael Walker
c4884badb8
Don't include thread 0 in the key.
2016-08-29 18:34:27 +01:00
Michael Walker
e1162dc033
Add missing module headers to {hunit,tasty}-dejafu.
2016-08-26 11:16:59 +01:00
Michael Walker
2065253f73
More comprehensive README.
2016-08-26 00:06:59 +01:00
Michael Walker
8d6cdb6aff
Traces include thread names now.
2016-08-25 17:22:34 +01:00
Michael Walker
cb17a19add
More descriptive summary for "concurrency" package.
2016-08-25 16:57:21 +01:00
Michael Walker
373ba952ca
Sub "MVar" for "CVar" in a comment.
2016-08-25 16:56:58 +01:00
Michael Walker
ccb6d5e5d8
Merge pull request #56 from barrucadu/dejafu-0.4
...
Merge dejafu-0.4 branch
2016-08-25 14:23:02 +01:00
Michael Walker
75fbad38a1
Rename Deterministic to Conc.
...
Closes #45
2016-07-21 19:33:49 +01:00
Michael Walker
97a06c7094
Bump default GHC version to 8
2016-07-21 19:33:49 +01:00
Michael Walker
6788274f7f
async-dejafu now requires dejafu-0.4
2016-07-21 19:33:49 +01:00
Michael Walker
2f0f51ceb6
Split concurrency modules into a separate package.
...
The new 'concurrency' package is starting at version 1.0.0.0 because the
API is already very mature (copied from base).
This breaks the dejafu-0.2 compatibility of async-dejafu.
Closes #51 .
2016-07-21 19:33:49 +01:00
Michael Walker
f3c546f591
Add a non-monadic peekTicket'
...
Also removes the APeekTicket/PeekTicket/WillPeekTicket constructors.
2016-07-21 19:33:49 +01:00
Michael Walker
b47e95735c
Drop TH boilerplate functions and lineNum.
...
The TH boilerplate was really fragile, and by dropping lineNum as well
the entire template-haskell dependency can be dropped. This is a small
sacrifice, as the name needed to be passed in explicitly anyway, and
there are probably more meaningful names than just the line number.
2016-07-21 19:33:49 +01:00
Michael Walker
fe251512f5
Make autocheck' functions take the schedule bounds
...
Closes #47 .
2016-07-21 19:33:49 +01:00
Michael Walker
43b2dd3913
Make runTestIO monad-polymorphic
...
This + 7652ad5, 77aec63, 9375a61 closes #44 .
2016-07-21 19:33:49 +01:00
Michael Walker
2aa2b8f447
Unify IO and ST instances
...
Closes #44
2016-07-21 19:33:49 +01:00
Michael Walker
c742da2bfd
Drop _concKnows
stuff and fix litmus tests.
...
Removing the stuff broke some of the litmus tests, which is bad. It
probably means that those actions were being put into sleep sets, and so
hiding actually interesting interleavings from the POR implementation. I
need to improve the lookahead behaviour to ignore these invisible
actions.
Closes #46 .
2016-07-21 19:33:49 +01:00
Michael Walker
25718a6162
Move common internal stuff to Test.DejaFu.Common
2016-07-21 19:33:49 +01:00
Michael Walker
b42077c0ec
Use 'ref-fd' for MonadRef.
2016-07-21 19:33:49 +01:00
Michael Walker
066ce937e6
Drop the penultimate Lift.
...
The final write-to-a-reference is now in the Stop action. This is a
fairly large change as it was easiest to do this by also removing the
Ref and Fixed types, and going for a typeclass for monadic references.
Fixes #43 .
2016-07-21 19:33:49 +01:00
Michael Walker
70bcad4615
Bump versions for 0.4.0.0 release
2016-07-21 19:33:46 +01:00
Michael Walker
b160cfd793
Bump to dejafu-0.3.2.1
2016-07-21 18:55:18 +01:00
Michael Walker
8b35ec9ef7
Propagate read TVars in orElse
.
...
Fixes #55 .
2016-07-21 18:53:26 +01:00
Michael Walker
1483056d1b
Use the BacktrackFunc synonym in SCT.
2016-06-06 20:31:34 +01:00
Michael Walker
f3b0eaf4ba
Merge branch 'dejafu-0.3.2'
2016-06-06 20:22:57 +01:00
Michael Walker
d8e2e52cdc
Merge branch 'dpor-0.2'
2016-06-06 20:04:03 +01:00