[Haskell-cafe] HSpec vs Doctest for TDD
Bob Hutchison
hutch-lists at recursive.ca
Thu Jun 26 12:24:09 UTC 2014
On Jun 26, 2014, at 3:10 AM, Erik Hesselink <hesselink at gmail.com> wrote:
> 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*.
So, tell me about QuickCheck… why is this thing thought so highly of? (this is a rhetorical question, I don’t need an answer :-)
The problem isn’t really the unexpected humming of a song. It’s answering 43 when you’re expecting 42.
Cheers,
Bob
>
> Erik
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list