An exploration of
JOSS style recursive section numbering for the modern world.
@ Programs are written in sections, where relevant edits to various pieces of code are kept close.
@ Imagine we need to add a search bar to some UI
>library.uielements.searchbar
function searchbar() { /* create the searchbar here */ }
@ In this section we might add the searchbar to the page.
>interface.user.somepage.render
page.topbar.addElement(searchbar());
@ Depending on how our code functions, it might involve completely rewriting the rendering function, or sticking a new code insertion point into a bit of it we want to be variable.
@ Either way is possible with Literati, perhaps 'Illiterati' to its detractors.
@ When code is incrementally refined, it makes more sense to associate development temporally, or by feature, than it does to associate it with the gestalt. And perhaps,
Literate Programming for a long-gone world where minimizing implementation difficulty means more than making a fine product.
Essentially, this whole site is written using
Literati.js to compile many out of order sections, approximating a story about why I did what I did, making this website one executable file that's easy to deploy.
As a personal aesthetic decision, I wrote Literati.js reasonably concisely, as I prefer to read short code.
One day, perhaps, I'll write a version of Literati.js in its own literate style.