Thu Apr 5 16:11:14 EDT 2007
persistence & late binding
so, borduring verder on that article.. i ran into the problem of
saving parsed code, beacause semantics is stored as a procedure. what
about replacing this by a symbol?
assuming data will only be read by a system that has the bindings in
place, this is a valid approach. then bootstrapping can be solved
differently, and all internal representation is just cache.
a word = code object
* a source representation
* a symbolic semantics (other word?)
* a cached transformer procedure (concrete semantics)
* a cached meaning = lambda expression
the cycles in this representation need to be broken somehow.
hmm.. this is actually a lot harder than it sounds, since the cache
really needs to be a cache. probably needs a from-scratch approach.
ok. started the 'symcat' project. for the current project i think i
can live with non-savable parse trees, since it's always possible to
save source code, and i have a working 'reload core' command for use
during compiler development. all in all, the system i'm writing is
so no more about this really cool idea here. see symcat.