Wed Mar 14 09:48:10 EDT 2007
i run into problems with redefining the structs: data lingering after
a reload is not compatible with type predicates and accessors. this
means code cannot survive a reload. this is a bit ill defined, so i
need to make a descision.
- if i don't redefine 'word' on reload it can never be redefined on
reload, which is a bit of a nuisance.
- the other solution is to redefine 'word' and chainging all the data
on the stack to reflect this change: the stack is the only thing
that survives a reload, so it needs to be properly processed. it
looks like i need a temporary structure to solve this.
- find a better way to implement reload.
the struct thing is really annoying. i need to find a solution to that
soon. all the rest works with reload, even using a 'symbolic'
continuation passing: after load, the repl loop itself is recompiled.
maybe i should separate the files into init and update. that way it is
possible to perform incremental updates.
ok. the solution seems to be to install a 'toplevel' continuation that
is passed the entire application state (stack). 'load' can then be
called with a symbolic code argument == continuation.