Just a thought.... most of the "philosophical" questions / discussions here
about i.e. object lifecycle, scope, bindings, etc. would be simply,
formally, and workably solved if Rebol had a true lexical scoping model. As
it is, it's sort of the worst of both worlds: it's semi-fluid scope with
explicit manipulation coupled with a sort of hybrid object / object
lifecycle model that is never really formally elaborated. Without knowing
the internal nitty gritty of the implementation, it's hard to say if this is
endemic to Rebol or not, but looking at i.e. the potential solutions to
similar problems in early Lisps vs. Scheme, I'd say there's a whole lot of
good reasons for solving the problem now.
jb
[EMAIL PROTECTED] wrote:
> Nicely described Galt :)
>
> > I suppose it means you
> > can bind a block to another block or word
> > and it will share the context of that other
> > block. I wonder what would happen if you
> > unset O at this point. Could you still
> > run Dialect and have it bind and reduce another block
> > to what O was bound to?
>
> Tried it, yup it will and it won't work.
>
> It will for a bit until the garbage collector takes away O.
>
> Try
>
> Create O as in the example.
>
> Dialect [f1 f2] ; --Ok
> Unset 'O ; -- oh oh , could be trouble coming
>
> Dialect [f1 f2] ; --Still works....Phew.
>
> Recycle;
> Dialect [f1 f2] ; * Crash * -- Looks like the GC was a bit enthusiastic.