[Haskell-cafe] HSpec vs Doctest for TDD

Tom Ellis tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Thu Jun 26 12:59:31 UTC 2014


I feel like I'm reading a Monty Python sketch.

On Thu, Jun 26, 2014 at 01:50:18PM +0100, Alois Cochard wrote:
> I'm not replying to you nor Michael Orlitzky.
> I'm replying to Richard A. O'Keefe.
> 
> You can see that by looking at which message was quoted below my actual
> response.
> I hope it will make things clearer, because I'm actually not arguing at all
> against what you are saying :-)
> 
> 
> On 26 June 2014 13:44, Erik Hesselink <hesselink at gmail.com> wrote:
> 
> > On Thu, Jun 26, 2014 at 2:24 PM, Bob Hutchison <hutch-lists at recursive.ca>
> > wrote:
> > >
> > > 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.
> >
> > Are you replying to me, or Michael Orlitzky? Because I'm not sure what
> > point you're making. I'm not arguing against the use of tests *or*
> > types. I'm just saying neither is going to give you complete
> > guarantees, but using either one is already much better than using
> > none.
> >
> > Erik
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> 
> 
> 
> -- 
> *A\ois*
> http://twitter.com/aloiscochard
> http://github.com/aloiscochard

> _______________________________________________
> 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