Sat Mar 27 21:08:35 CET 2010
Moving the code to reactive implementation
- 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.
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
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.