[Haskell-cafe] Type System vs Test Driven Development

Erik de Castro Lopo mle+hs at mega-nerd.com
Wed Jan 5 11:05:49 CET 2011


Jonathan Geddes wrote:

<snip>

> So, am I missing the benefits of TDD in my Haskell code?

Probably. I work on a project which has 40000+ lines of
haskell code (a compiler written in haskell) and has a huge
test suite that is a vital to continued development.

I've also written relatively small functions (eg a function
to find if a graph has cycles) that was wrong first time I
wrote it. During debugging I wrote a test that I'm keeping
as part of the unit tests. 

Furthermore tests are also useful for preventing regressions
(something the programmer is doing today, breaks something
that was working 6 months ago). Without tests, that breakage
may go un-noticed.

> I explained these thoughts to a fellow programmer who is not familiar
> with Haskell and his response was essentially that any language that
> discourages you from writing unit tests is a very poor language.

Haskell most certainly does not discourage anyone from writing
tests. One simply needs to look at the testing category of
hackage:

    http://hackage.haskell.org/package/#cat:testing

to find 36 packages for doing testing.

> Am I putting too much faith in the type system?

Probably.

> [0] http://blog.jayfields.com/2008/02/static-typing-considered-harmful.html

Complete bollocks!

Good type systems combined with good testing leads to better
code than either good type systems or good testing alone.

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/



More information about the Haskell-Cafe mailing list