sentence: re-implementations of quickcheck exist for c , c++ , chicken scheme , clojure , common lisp , d , erlang , f# , factor , io , java , javascript , node.js , objective-c , ocaml , perl , prolog , python , ruby , scala , scheme , smalltalk and standard ml .