I have a case that I think is quite legitimate where I want to quickcheck an effectful function however I can't because https://github.com/purescript/purescript-quickcheck/blob/v5.0.0/src/Test/QuickCheck.purs#L97 uses the concrete Gen monad.
My usecase is testing Blockly code2blockly and blockly2code functions. Since Blockly is a very mutable javascript library, both code2blockly and blockly2code have Effect types. In order to test my implementation of these functions I can take some code and basically run code2blockly followed by blockly2code and I should get the original code back. Currently I'm doing this with unsafePerformEffect 😱 but since tests are actually Effects I don't think this is really necessary.
I have a case that I think is quite legitimate where I want to quickcheck an effectful function however I can't because https://github.com/purescript/purescript-quickcheck/blob/v5.0.0/src/Test/QuickCheck.purs#L97 uses the concrete
Genmonad.My usecase is testing Blockly code2blockly and blockly2code functions. Since Blockly is a very mutable javascript library, both
code2blocklyandblockly2codehaveEffecttypes. In order to test my implementation of these functions I can take some code and basically runcode2blocklyfollowed byblockly2codeand I should get the original code back. Currently I'm doing this withunsafePerformEffect😱 but since tests are actuallyEffects I don't think this is really necessary.