Sat Nov 3 15:14:27 CET 2007
separate compilation + name spaces
as a consequence of the way compilation works, it is possible to rely
on the fact that, per compilation unit, names can be overwritten. what
i mean is that it is possible to 'load' the same file twice, but with
different words/macros bound in its environment.
this comes close enough to the 'dictionary schadows' paradigm i'm used
to in PF, and which actually works pretty well: it avoids the need of
a name space mechanism fairly effectively.
an extension to this could be to allow for exports: provide only those
macros and words necessary.
then another extension: why not install the macro source in the target
dictionary? there's no realy reason not to, and it makes 'mark' work
for macros (given that i delete and re-instantiate the macro
cache). or.. i could use this as an indicator for using the macro
cache or not.
one thing that has been bugging me: if i define a word or a macro, i
do want it to override the previous word or macro.
i should make a list of the name space trade--offs for writing a forth