
Quoting P Orrifolius (2019-03-10 20:38:05)
On Tue, 5 Mar 2019 at 23:11, Will Yager
wrote: http://hackage.haskell.org/package/dejafu might do what you want
Thanks for the suggestion, that does look useful. From a quick look at the documentation... am I right in thinking that this test framework only covers concurrency when you're directly using IOVars and STM? Any concurrency that might involve other primitives, or IOVar/STM uses in libraries, wouldn't be testable? Unless the primitives/library had also been written to use the dejafu io classes and monads of course... which might be a good idea in and of itself.
Yeah, if you have dependencies not written in terms of those type classes, it may be difficult to integrate. If it's just your own code, it shouldn't be too hard to go through and swap in the type class constraints everywhere, but I do wish Haskell made it easier to wedge an abstraction layer like that under existing libraries after the fact :(. -Ian