Interesting; these arguments sound oddly like those surrounding Common 
Lisp's "loop" macro. When reading Midje's docs, I got the weird impression 
Brian was aware of the history of "non-lispy" macros.

Taken straight from 
http://www.gigamonkeys.com/book/loop-for-black-belts.html :

(loop repeat 5 
      for x = 0 then y
      and y = 1 then (+ x y)
      collect y) ==> (1 1 2 3 5)


Note:

   - Keywords
   - Infix
   - Updating-machinery is textually close to declaration
   - Of course, the arrow to describe output, which motivates Midje.


I'm not sure how Midje obscures your debugging?

Personally, I have strong positive opinions of loop and Midje. I believe 
that I can show people Midje tests, and they're very clear. To the extent 
that lack of composition/flexibility becomes a problem, I can incur the 
cost of an occasional rewrite; or if I can foresee the complexity becoming 
a problem, I'll do something else more appropriate. My attraction towards 
Lisp lies in clarity; I can often spend a bit of virtuousness to gain this, 
and not notice the cost.

(Disclaimer: my Clojure use isn't nearly as complex as yours; I don't get 
to use it as much as I'd wish. So maybe I'm missing something.)


All the best,
  Tj

On Tuesday, June 11, 2013 2:27:03 AM UTC+2, tbc++ wrote:
>
> >> It might surprise you to know that there are actual human beings with 
> feelings who write the software you slam.
>
> You are right. And I apologize for my strong words. For the goals that 
> Midje strives for, it is an excellent library. 
>
> My reaction is more against the ideas behind Midje (from the docs): "I 
> believe you should have the same reaction to test suites written like that: 
> a slavish adherence to Lisp style in tests incorrectly exalts purity over 
> user-friendliness. "
>
> I disagree strongly with this assertion. I wish to see my tests in the 
> same language as my code. Midje succeeds in reaching the goals that it sets 
> forth. I can write tests, top-to-bottom, left-to-right. But at the expense 
> of debugging power, and intuitiveness. 
>
> It may be harder to read:
>
> (is (= (foo 1) 42))
>
> But even a beginner programmer in Clojure can parse and understand it. 
>
> I think the ideals Midje enspouses may be more applicable in other 
> languages, and IMO they are not needed in Clojure. 
>
> These are all my own, highly biased, opinions. I congratulate you, Brian, 
> on a well written, mature, library. I simply question the premise. 
>
> Timothy
>
>
> On Mon, Jun 10, 2013 at 5:30 PM, Brian Marick 
> <mar...@exampler.com<javascript:>
> > wrote:
>
>>
>> On Jun 10, 2013, at 9:20 AM, Timothy Baldridge 
>> <tbald...@gmail.com<javascript:>> 
>> wrote:
>> > Midje on the other hand, is a massive pile of macros and DSLs that so 
>> complicate your code that advanced tests are insanely hard to debug. ... 
>> And I can't tell you how many dozens of hours I've lost trying to figure 
>> out why Midje doesn't like my test results.
>>
>> It might surprise you to know that there are actual human beings with 
>> feelings who write the software you slam.
>>
>> Before people spend dozens of hours being frustrated, I suggest they post 
>> to the Midje mailing list. I try to be reasonably responsive, and I have a 
>> good track record helping people with their problems.
>>
>> --------
>> Latest book: /Functional Programming for the Object-Oriented Programmer/
>> https://leanpub.com/fp-oo
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
> -- 
> “One of the main causes of the fall of the Roman Empire was that–lacking 
> zero–they had no way to indicate successful termination of their C 
> programs.”
> (Robert Firth) 
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to