purescript-spec/purescript-spec-quickcheck

Deprecate this package for 0.12?

paulyoung opened this issue ยท 8 comments

I was reviewing paulyoung/purescript-prettier-printer#12 and it looks like this package may be redundant for 0.12 paulyoung/purescript-prettier-printer#12 (comment)

Thanks for providing this up until now, and apologies in advance if I'm mistaken ๐Ÿ™‡

I was thinking something along the lines of what purescript-maps and other packages have done might be helpful.

Something like a migration guide in the README would be good.

Not sure I follow - what has 0.12 introduced? (Genuinely curious as I use this library in a few places)
I think the point could be made that this library is essentially liftEff (and later liftEffect) over a few quickCheck functions - is this a Fairbairn threshold thing?

0.12 made Effect the default for effects, so in paulyoung/purescript-prettier-printer#12, we can just do this:

-import Test.QuickCheck (class Arbitrary, arbitrary, (===))
+import Test.QuickCheck (class Arbitrary, arbitrary, (===), quickCheck)
-import Test.Spec.QuickCheck (QCRunnerEffects, quickCheck)

...and also this:

-spec :: Spec (QCRunnerEffects ()) Unit
+spec :: Spec Unit

Note the use of liftEffect as well.

-it "is a homomorphism from addition to composition" do
+it "is a homomorphism from addition to composition" $ liftEffect do

Oh, I see - spec-quickcheck was useful for hiding away some ugly liftEff and its effects declaration, but now it's only useful for the former?

I think so, but that's what I'm trying to determine with this issue.

This makes sense to me - I think ultimately it'll be @owickstrom's decision, but I agree that there's maybe not a lot of utility here anymore. I'll leave this around for when Oskar has time to review it, but I'm definitely inclined to agree!