> I'd be perfectly happy with a LaTeX-based solution, although I
> understand the appeal of something more "within Clojure".

I've been playing with a Clojure solution:

http://github.com/markmfredrickson/changeling

I just pushed a version to clojars as well.

> As a first approximation, literate programming needs to make it easy
> to enter English text with code snippets that run.  Haskell does this
> by assuming that in a file ending in .lhs (as opposed to .hs), by
> default, a line is plain English text unless specifically marked as
> code (instead of the other way around).

This is how changeling works. Clojure code is delineated in <clj>...</
clj> blocks. Everything else is implemented as macros and functions
(REPL style output, context aware formatting for Markdown & LaTex,
etc.); therefore, extendable by users. You do have to set the output
context yourself (see the README), but I've got plans to make it
figure that out automatically for well named files (e.g.
file.tex.changeling).

>
> This is a good start, but Knuth's conception of literate programming
> usually supports breaking code into very small hyperlinked chunks,
> cross-indexing up the wazoo, and language-aware formatting and
> indexing.

Changeling passes on that. Now and forever.

> And honestly, I find none of this is much use without an
> editor/compiler/debugger that understands this format.  So in my mind,
> that would be the real challenge.  Rather than just make tools that
> tangle/weave Clojure/LaTeX, I need to be able to easily edit and then
> compile that to the REPL in Emacs/Enclojure/etc.  [Note to self:  Go
> look at that orgmode link after writing this email]

Perhaps you could jury rig something to automatically compile to LaTeX
everytime you update the file. For example, using

http://github.com/mynyml/watchr

>
> In any case, any of these tools, even the most basic, if integrated
> with the rest of the Clojure edit/compile/eval/debug process in some
> editor (I've been primarily using Emacs but am gradually starting to
> prefer Enclojure), would be something I would likely use.

I've been playing around with a Emacs mode (more properly looking at
existing multi-major-mode work). I'm open to ideas on how to make it
play better with a REPL. As always, any form can be sent via C-C C-C.
What more did you have in mind?

-M

-- 
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