https://thoughtstreams.io/DRMacIver/hypothesis-a-history/Hypothesis, a historyDRMacIver2016-05-16T16:22:17Zhttps://thoughtstreams.io/DRMacIver/hypothesis-a-history/#card-10475Hypothesis 1.3 is probably the first ...2016-05-16T16:22:17Z2016-05-16T16:22:17Z
Hypothesis 1.3 is probably the first version of Hypothesis recognisable as its modern incarnation. Previously it had a really weird API based on using values to describe types. So e.g. the value `[float]` described a list of floats.
This was cute but turned out to be a terrible idea. Describing things with simple function calls turns out to be far superior to doing cute but highly inflexible things like this.
https://thoughtstreams.io/DRMacIver/hypothesis-a-history/#card-10374The origin story of Hypothesis was re...2016-04-30T19:42:59Z2016-04-30T19:42:59Z
The origin story of Hypothesis was really that I just wanted to learn Python and needed to come up with a project to hack on in it. For some reason property based testing had been on my mind recently (I'd previously used [ScalaCheck](https://www.scalacheck.org/) a fair bit), I looked around and the available Python options seemed... lackluster (I've since found [paycheck](https://pypi.python.org/pypi/paycheck/) which actually predates Hypothesis and is pretty good), so it seemed like an interesting choice of project.
It really shows in early Hypothesis that my progression had gone Scala -> Ruby -> Python.
https://thoughtstreams.io/DRMacIver/hypothesis-a-history/#card-10354[Hypothesis](http://hypothesis.works)...2016-04-30T08:37:25Z2016-04-30T08:37:25Z
[Hypothesis](http://hypothesis.works) has approximately three discrete stages in its life so far:
1. Silly little prototype.
2. Fuck it, lets make this a real thing.
3. Post-Conjecture implementation.