Sunday, May 19, 2013

Full circle in literate programming (for me)

I think I'm back to proposing literate programming in Word again.  I've been considering approaches to LP that I would actually use - and waaaay back in prehistory I actually wrote the beginnings of a Word-based litprog tool.

Here's the thing.  To somebody who's used it a lot - and God help me, I've used Word a lot - Word is pretty nifty tool for editing human-readable text.  The point is to provide tools that get out of the way of presentation of logic, both to the human and to the computer, right?  So let's consider a document, in this case, to be any structured text that permits sections, headers, internal references, bookmarks, and footnotes.  You could use LaTeX if you wanted, or some kind of Markdown, but for me, editing words comes easiest and most naturally in Word.

Now we map our document structure onto code structure.  Again, I want something that supports macros (expressing macros in whatever language is convenient) and templates that are expressed as code.  I also want widget tools that permit the encoding of some logic as diagrams with graphical editors of some kind.

I want tables embedded in the text to be accessible to macros.  Still easy.  And I want bullet lists and numbered lists to be similarly accessible.

Sections might be standalone invocations of templates.  I'm not sure yet.

References go into a bibliography; the bibliography is literally links to additional libraries, organized on principles I haven't yet thought through.  But as I've said elsewhere, or maybe here (forgive me, the paying work has been glorious lately) - I want to have something amenable to peer review.  Model open coding on scientific publication.

So that's this week's goal.

No comments:

Post a Comment