Michael Walker
cc40353001
Tidy up code a bit, also drop monad-st
2015-01-27 11:45:47 +00:00
Michael Walker
19ff7c51e7
Restrict language extensions a bit
2015-01-21 15:31:10 +00:00
Michael Walker
ff015054f4
Use a non-empty list type for scheduler threads
2015-01-12 15:58:53 +00:00
Michael Walker
0f1675070b
Update documentation
2015-01-12 14:24:12 +00:00
Michael Walker
981169c25f
Vastly improve PB runner
2015-01-09 02:35:28 +00:00
Michael Walker
6272abe7fd
Fix the pre-emption runner (wasn't generating suffixes correctly)
2015-01-05 15:05:29 +00:00
Michael Walker
1aa8765f4e
Significantly faster PB runner, and enable 100 philosophers test
2015-01-05 06:42:41 +00:00
Michael Walker
f7ad64fe5b
Add a pre-emption bounding runner, and use it for tests
2015-01-04 21:48:00 +00:00
Michael Walker
edbe04be64
Add SCT runners which maintain internal state
2015-01-04 15:06:53 +00:00
Michael Walker
000b91780e
Add a variant of runSCT for IO Conc
2014-12-28 12:12:57 +00:00
Michael Walker
7e6fcd4a39
Swap main Fixed implementation from IO to ST.
2014-12-27 12:26:40 +00:00
Michael Walker
a1d637e87c
Build a trace of thread actions in Fixed
2014-12-24 21:41:32 +00:00
Michael Walker
554fa84ec7
Enable -Wall and fix all warnings
2014-12-21 16:34:55 +00:00
Michael Walker
7819a3c7b0
Provide a helper function to turn Schedulers into SCTSchedulers
2014-12-21 13:50:52 +00:00
Michael Walker
37f3767290
Record possible alternative scheduling decisions in SCT
2014-12-21 13:25:48 +00:00
Michael Walker
d0e01c579a
Fix type of example in SCT
2014-12-21 13:00:43 +00:00
Michael Walker
96eaf85095
Record in SCT trace reasons for decisions.
...
In particular, this lets us distinguish between switching to a new
thread because the old was blocked, or switching to a new thread
because of a pre-emption.
2014-12-21 12:48:15 +00:00
Michael Walker
8b0f2763d3
Add some helpful CVar combinators
2014-12-21 09:38:25 +00:00
Michael Walker
9a6fcc5162
Rename all CVar functions to avoid name clashes with Prelude. Fixes #1 .
2014-12-21 07:47:45 +00:00
Michael Walker
82e9241686
Add a simple runner which gathers results and schedulings from multiple runs
2014-12-20 11:03:49 +00:00