This is a runnable version of the original QuickCheck implementation, written by Koen Claessen & John Hughes. The code was taken from here, but modified slightly to run in 2023. The commit illustrating the changes required to run it is here. The unmodified code can be found in the first commit, where the only new addition by me is the cabal file.
The original QuickCheck documentation can be found here, where the above code was taken from. The link to the code from that website is broken, but the right link is given above.
The original QuickCheck paper.
It took me some time to find this code, which is why I upload it here for future reference.