External Publication
Visit Post

Tinycheck: A lightweight enumeration-based property testing library

Haskell Community [Unofficial] April 13, 2026
Source

turion:

Generators are just streams of values, ordered by complexity (some measure of “size”) of the data.

I think this is the right choice, yes. SmallCheck migrated from this to streams parametrized by a monad (and interleaving implemented via LogicT) between releases 0.6.2 and 1.0, but I don’t know anyone making use of this flexibility. While in theory one can do some cool stuff, e. g., turning SmallCheck into QuickCheck with instance MonadRandom m => Stream m Foo, I’ve never seen it happening in practice, and performance consequences of such generalization are obvious.

Discussion in the ATmosphere

Loading comments...