Thu Jan 31 16:01:12 CET 2008
target name space unification
name space unification would mean that the dictionary stored in the
.state file contains not only addresses, but also macros (in a form
that's specific enough to recompile).
this form needs to include lexical variables. so a dictionary item is
either a number, or a macro. target words are then just macros:
((abc 123) ;; literal / constant / ram variable / ...
(go 3235 execute) ;; code
(bla abc def)) ;; any macro code
taking into account lexical variables this can be simplified to a
((abc () (123))
(go () (3235 execute))
(bla () (abc def))
(arg (a b) (a b +)))
where the first parens are the macro lexical variables.
code that has no lexical variables is purely concatenative.
this requires quite a deep cut, but should lead to great
fork point is here.