Closed hmontero1205 closed 3 years ago
LGTM.
You may want to do a sanity check that the generator is actually generating unit types; you can do this by temporarily reverting your change in the interpreter, and then running the arbitrary test suite. If it's generating unit types, it should crash pretty soon (:
You can actually query the repl for generated programs :)
stack repl test/lib/Test/SSM/QuickCheck/Generator.hs
> import Test.QuickCheck
> import SSM.Pretty
> putStrLn =<< prettyProgram <$> generate (arbitrary :: Gen Program)
...
... generated program
...
Hans and I worked on the last few commits together, to get rid of some merge conflicts and resolve some of the previous issues.
But this is still not ready for merge. There are some things that remain:
TEvent
types. This shouldn't be a fundamental issue, but somewhere it's trying to evaluate the expressions of the event type and hitting a non-exhaustive pattern-match exception. @hmontero1205 will look into this.