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.