Kostas Dermentzis
Kostas Dermentzis
> You mean greater than n? No smaller. If the command failed on the n-th comman, this means it hasn't failed up to the (n-1)th command, so there is no...
> What's your opinion on always keeping the n-th command, so that we don't trigger other bugs while shrinking? By always trying to keep n-th command we may miss smaller...
I finally managed to make this work (https://github.com/advancedtelematic/quickcheck-state-machine/tree/quick-shrink-monadic) and the results seem good. This is sequential memory referece with a Logic bug (verbose execution): ``` Failed: Commands { unCommands =...
I opened an issue at QuickCheck https://github.com/nick8325/quickcheck/issues/263
+1 from me on this. I had also found it inconvenient to write manual commands.
I think Free Monad may also be used: ``` haskell data ExampleF cmd a = Done | Run (cmd Symbolic) ([Var] -> a) | Fail String deriving Functor type Example...
So I used graphviz and dot and these kind of graphs are generated  Any artistic review is welcome :)
If I'm not mistaken the channel can only serialise the order in which the threads wrote to the channel. It is possible that this order is different from the execution...
What I mean is that Write from Pid 1 may have finished before Increment from Pid 2, but Pid 2 may have written to the channel before Pid 1.
Indeed, I've been thinking about this question for some time: is it possible to retrieve the real execution order? I think the answer in general is we can't. Say for...