Sat Mar 27 21:08:35 CET 2010

Moving the code to reactive implementation

This means:

     - all functionality should have a purely functional core,
       including the indexing. OK
     - reactivity is added to the mix to provide the stateful web app.
       the only state is cache. OK

     - root objects should have file system notification so
       invalidation can propagate. OK

     - abstract url generation and dispatching (tree linking)

     - navigation (cross-linking)

In essence: trees + (lazy) cross-references.  It seems that the itch I
have due is due to the cross- referencing in the current imp.  It's
all about binding; the rest is simple rewriting.

How to do the file system notifications? Use jao's mzfam[1].

So what about indexing?  It is just a function.  Care needs to be
taken to still perform a partial parsing step: parse article headers
and construct a suspended body parse.  The index then depends only on
the headers.

Url generation is also simple.  Storage is a tree of data structures.

Cross linking (navigation: next/prev) is separate.  This can be
delegated to the dispatcher: if it has an index, it can add re-directs
for all symbolic (non-permanent) references.

[1] http://planet.plt-scheme.org/display.ss?package=mzfam.plt&owner=jao