In the past I've used a java tool to write "acceptance tests". Concordion [ http://concordion.org/]. The idea is simple yet effective. You write your documentation in HTML, and later you can run your code that will interact with that documentation and generate a new documentation, marking the portions of the text that are implemented and right (in green) vs the portion that's not yet implemented or failed (in red).
This was an excellent communication tool. We can design the documentation in a way that the information flows and anyone could understand. I think the idea could be used in Clojure also, actually I was thinking about this for a while, it shouldn't be hard to use from clojure, it's a Java tool in the end. After reading this discussion I was wondering if a tool like this could be use to do LP, if not, I would like to know why. Thanks! On Fri, May 9, 2014 at 8:59 AM, Erlis Vidal <er...@erlisvidal.com> wrote: > Guys, you really are into the Literate part, those emails are huge! let me > catch up and then I'll reply... > > Interesting discussion! > > > On Thu, May 8, 2014 at 4:59 PM, Mark Engelberg > <mark.engelb...@gmail.com>wrote: > >> On Thu, May 8, 2014 at 11:02 AM, Mark Engelberg <mark.engelb...@gmail.com >> > wrote: >> >>> In fact, Clojure has a number of features that actively hurt its >>> expressiveness relative to other modern languages: >>> >> >> BTW, that list was by no means exhaustive. In the past couple of hours >> I've thought of a couple more, I'm sure others could easily add to the list: >> >> 7. Use of infix notation means that math formulas look dramatically >> different in Clojure than in math form, and therefore, it is difficult to >> determine at a glance whether a formula as implemented in Clojure matches. >> 8. Arrays in many domains are more naturally expressed as 1-based, but in >> Clojure, they are 0-based. I've encountered a lot of code that was >> confusing because of lots of increments/decrements to shift back and forth >> between the problem as specified with 1-based implementation and the >> 0-based implementation imposed by Clojure. Lots of opportunities for >> off-by-one errors and/or later confusion when other readers try to make >> sense out of the code. >> 9. Clojure's ease of functional composition can result in deeply nested >> calls that are far easier to write than they are to read. >> 10. Unlike most other languages, every time you give names to local >> variables with let, you add a level of indentation. Especially with >> alternations of let and if/cond, you can easily end up with "rightward >> drift" that makes code harder to read. >> >> These are things we learn to live with. If these were show-stoppers, I'd >> be using another language, but they are not, so on balance I prefer Clojure >> with its other many strengths. My only point is that by no means is >> Clojure a pinnacle of expressiveness where all code is miraculously obvious. >> >> -- >> 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/d/optout. >> > > -- 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/d/optout.