<div dir="ltr">I don't have a problem with using TDD *and* type-safety to the full extent of usefulness, but the lifecycle/process isn't what TDD experts would call proper TDD.<div><br></div><div>I do use HSpec, very happily. The author has done a truly excellent job with it.</div>
<div><br></div><div>Process is something like:</div><div><br></div><div>    write types, validate types</div><div>-> fill holes, validate terms against types</div><div>-> compose functions to see if results are sane, go back to 1st or 2nd step if not.</div>
<div>-> Are there useful invariants QuickCheck can express? Write those first. Repeat cycle as needed.</div><div>-> Decide on meaningful but compact functional/integration tests, repeat cycle as needed.</div><div><br>
</div><div>Example HSpec tests (just functional/integration): <a href="http://github.com/bitemyapp/bloodhound/">http://github.com/bitemyapp/bloodhound/</a><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Tue, Jun 24, 2014 at 3:55 PM, Gautier DI FOLCO <span dir="ltr"><<a href="mailto:gautier.difolco@gmail.com" target="_blank">gautier.difolco@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi all,<br><br>I'm a huge fan of TDD (Test-Driven Development) et I used to use tools such as RSpec (Ruby). So naturally, I looked to HSpec, but it seems not idiomatic in Haskell.<br>I have a bunch of questions:<br>

- Do you do TDD?<br>- Which tools do you use?<br>- Is doctest "better" (in some senses) than HSpec? Why?<br>- Are HSpec and Doctest complementary? If so, in which case do you use one or another?<br>- Is there some Haskell-specific good practices do to TDD?<br>

<br>Thanks in advance for your lights.<br></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>