<div dir="ltr">Interesting, It's sounds like your definition of `TDD` is what is my definition of `solving problem`.<div><br></div><div>My point was that I don't want to write test for a grammar that I might realize during further design that is wrong, this would be just complete wasted effort... Instead I just test as a way to tryout my DSL... but really to me it does *not* relate to TDD... because I can do the same with just a REPL and the history of it...</div>
<div><br></div><div>I wish that definition you use was the same understood by the industry, but it is not the way it was presented to me when I discussed with TDD enthusiast in the past... maybe things changed.</div><div>
<br></div><div>Cheers</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 25 June 2014 22:44, Richard A. O'Keefe <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
On 26/06/2014, at 2:51 AM, Alois Cochard wrote:<br>
<br>
> For me TDD is highly overrated, and is abused as a buzz word by recruiter...<br>
><br>
> In the context of writing a DSL, how one can start by the test? It's just impossible...<br>
<br>
</div>I'm puzzled by this.<br>
<br>
You have some sort of fuzzy idea for a DSL.<br>
You're not sure exactly what it's going to look like,<br>
but you have a fair idea of what you want to be able<br>
to do with it.<br>
<br>
So you write some code in your DSL, making it up as<br>
you go.  As you do this. you keep changing your mind<br>
about what's a nice way to say things, and you go back<br>
and revise earlier sketches.<br>
<br>
After a few hours to a few days, you now have some<br>
examples of things you'd like to be able to handle,<br>
and can start mining them for a a grammar and you<br>
can write some code to support them.<br>
<br>
And guess what, you have written your DSL tests first,<br>
because the examples you needed to do the *design*<br>
work are precisely test cases that your code should<br>
handle.<br>
<br>
My understanding of the history is that this is<br>
pretty much what happened when Erlang was designed.<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><b>A\ois</b></div><div><div><a href="http://twitter.com/aloiscochard" target="_blank">http://twitter.com/aloiscochard</a></div><div><a href="http://github.com/aloiscochard" target="_blank">http://github.com/aloiscochard</a></div>
</div></div>
</div>