[Haskell-cafe] HSpec vs Doctest for TDD

Erik Hesselink hesselink at gmail.com
Thu Jun 26 07:10:22 UTC 2014


On Wed, Jun 25, 2014 at 5:47 PM, Michael Orlitzky <michael at orlitzky.com> wrote:
> On 06/25/2014 11:24 AM, Francesco Ariis wrote:
>> On Wed, Jun 25, 2014 at 02:45:37PM +0200, Mateusz Kowalczyk wrote:
>>> While I disagree with initial view that testing is useless, I certainly
>>> disagree with this approach too. There are plenty proof-assistants using
>>> type-checking to prove programs correct. That's not to say Haskell
>>> itself is suited for such task. If you have a type system strong enough,
>>> classical tests are no longer required because you can encode all the
>>> properties you need in types proving at compile time that your program
>>> is in fact correct.
>>>
>>
>> For non-believers, here is a blog post that opened my eyes on the matter [1].
>>
>> [1] http://lambda.jstolarek.com/2013/12/data-is-evidence/
>
> None of that helps if you write the wrong program. Your program may
> typecheck, but if you're expecting "42" as output and your program hums
> the Star Trek theme instead, the fact that it correctly does the wrong
> thing won't be much consolation.

The same goes for any kind of testing, though. All these (writing the
program, giving types for the program and testing the program) are
different ways of specifying the same thing. The benefit from doing it
twice in different ways, is that it's unlikely that you'll do it wrong
twice *in the same way*.

Erik


More information about the Haskell-Cafe mailing list