In the next couple of posts, I’m going to implement a minimal version of QuickCheck from scratch. Follow along and you’ll:

I’ll be porting tons of Haskell code in F#2. — Disclaimer: I’ve done similar things in the past. It’s fun!

Here’s a list of posts to follow:


  1. This is advanced material. Basic knowledge of QuickCheck and property-based testing is assumed. If you’re in the beginning it’s fine! Read this post first by Scott Wlaschin, followed by this Pluralsight course by Mark Seemann, followed by these slides by Pedro Vasconcelos. There’s also this short intro as well. 

  2. If you’re just looking for a production-ready QuickCheck based tool in F#, use FsCheck