[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: first-class names



> Remember that the compiler isn't the only tool you might want to run on
the code.  Since the expression above is statically indeterminate if you
allow the user to manipulate the environment structure, you
cannot
> statically determine the type of the expression either, nor prove that
it terminates, nor prove that it does not cause an error to be raised,
nor prove that it is side-effect free, nor prove that procedure `foo' is
not called, nor prove that it does not capture it's continuation,
etc.
> That's an awful lot to give up.

    It is an awful lot to give up.  But could you lexically scope
first-class environments?  Not the reification itself, but the ability to
reify, and break the analyzability of the code only in the subtrees using
them?