Sun Mar 21 12:01:13 CET 2010
The graph business.
I've been whining about it for a while now. Time to get it over with.
What is the problem? I'm building a full graph (pages linked
together) but I would prefer data to take the form of a tree or
directed acyclic graph.
I.e. to structure most of the data management code as a function (a
compiler) instead of a database.
What does the sweb site actually do?
- parses ramblings files
- creates indexes
- wraps a tex->png/pdf renderer
What are the problems? The graph/node implementation is too stateful.
Components can't be isolated easily.
Solution: get rid of the graph/node implementation.
Roadmap: start with ramblings parsing, and propagate the graph/node
code dependencies up the module hierarchy.
Starting point: parse-ramblings-fast.ss depends on graph.ss
Concrete strategy: create a module entry.ss that abstracts all the
concrete structure in a ramblings file.
This seems to work: I can separate function and data (parsing and
representation of content) from UI presentation (web page structure).