I've found org-mode in emacs quite acceptable for literate programming
in clojure.

http://orgmode.org/
git://orgmode.org/org-mode.git

Here are some things I've used it for:

http://aurellem.com/abomination/html/no_parens.html
http://aurellem.com/pokemon-types/html/lpsolve.html
http://aurellem.com/thoughts/html/man-years.html

It's possible to automatically monitor the org files in a project,
regenerate the html and source code whenever they are changed, and get
a very tight write-debug-test cycle.  Try it out it's fun!

sincerely,
--Robert McIntyre


On Thu, Oct 27, 2011 at 8:52 PM, daly <d...@axiom-developer.org> wrote:
>
>
> On Thu, 2011-10-27 at 20:11 -0400, Larry Johnson wrote:
> > My two favorite articles on Literate Programming are both from Donald
> > Knuth's book Literate Programming.  One is "Computer Programming as an
> > Art", and the other is "Literate Programming".  When I was preparing
> > to interview Knuth a bit over a year ago I re-read the entire book.  I
> > expected it to be a somewhat outdated description of WEB, TANGLE, and
> > WEAVE.  On the contrary it was wonderfully timeless.  When I mentioned
> > that to Knuth he sort of grumbled something to the effect of "Well,
> > yes, some things in computer science have a long shelf life" (that's a
> > paraphrase, but it was something like that).
>
> Knuth's invention of literate programming is one of the unrecognized
> pearls of computer science. I have yet to see a programming team that
> has an Editor-in-Chief who does patch-review for clarity, sentence
> structure, punctuation, relevance, location in the book, proper
> citations and index terms, etc. Maybe someday.
>
> >
> > I haven't been working with it for awhile, but I did a somewhat
> > primitive modification to the XML Docbook markup language (I just
> > added a few appropriate tags for "tangling" the executable source
> > code, and "weaving" the well formatted article documenting the code)
> > which I used as the source language, then wrote a tangle and weave in
> > perl.  I got the idea from Norman Walsh's article Literate Programming
> > in XML which can be found at
> > http://nwalsh.com/docs/articles/xml2002/lp/paper.html
> >
> > The advantage of this was that given the array of tools for rendering
> > Docbook "weaving" was a piece of cake, and perl had a good range of
> > modules for doing the "tangle".
>
> Any means of publication can be the medium for literate programming.
> As I rule I prefer Latex but anything will do.
>
> All you need is a distinguished means of quoting and naming the
> chunks. In html this could be as simple as:
>   <pre id="somename">
>      your code
>   </pre>
> and you need a program, often called "tangle", to extract the chunk
>   tangle mywebpage.html somename >mysomename.file
>
> The machinery of literate programming is dirt simple.
> Poof! You're done.
>
> The hardest part of literate programming is the mindset.
>
> In order to do literate programming you need to change your focus
> from traditional programming to writing for humans and, as a side
> effect, writing for the machine.
>
> >
> > As I stated, I'm very new to clojure, but I've always been fascinated
> > with LP, and I'm very happy to see this discussion going on here.
>
> Java has taken the PDP 11/40 sand files to their logical extreme where
> we have wired the name of the tiny file to the name of the tiny object.
> We have packaged the automobile into a crate with labeled bags of
> screws, hoses, switches, etc. and are expected to understand the car.
>
> Clojure is a very early adoptive, open minded community willing to
> challenge old assumptions. It helps to highlight what those old
> assumptions are, as Rich has done for Lisp, since they can be
> difficult to see and hard to displace. I am hoping the community
> will disrupt the tiny-files, javadoc, IDE, code-for-the-machine,
> mindset and start communicating with humans. Rich has great ideas
> in Clojure and all we get is the dried bones of source code.
>
> We can do so much better.
>
> Tim Daly
>
>
>
>
>
>
>
> --
> 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 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

Reply via email to