>From a cursory examination of "literate programming" central tenants appear to be: (1) order by human logic (2) use descriptive macros (3) program is a web
(1) Is not possible in Clojure because it resolves symbols as it reads them. However that is easy to work around with a trivial patch (see http://groups.google.com/group/clojure/web/auto-def.patch). auto-def as the name suggests just defs a symbol that it can't find. So this allows you to declare functions out of order - top down - and hope they get redefed before any evaluation occurs. If evaluation does occur the error still has a stack showing where and what the var is (which will be nil - similar to a null pointer exception in java). Here is an example that will only work with auto-def: http://groups.google.com/group/clojure/web/lit-wc.clj (2) lisp is great for this with hyphenation as standard. (3) yikes! need to contemplate this. What are the arguments against *auto-def*? On Jan 3, 9:38 am, Randall R Schulz <rsch...@sonic.net> wrote: > - <http://www-cs-faculty.stanford.edu/~knuth/lp.html> > - <http://en.wikipedia.org/wiki/Literate_programming> > - <http://www.literateprogramming.com/> > - <http://www.literateprogramming.com/knuthweb.pdf> > - <http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html> --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---