[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: dynamic bindng
I use FLUID-LET to dynamically rebind environmnent variables, like
*debugging?* *alpha-rename* *found-an-error?*... things that look like
they could be arguments but which would have to be included in every
procedure of a complex module so the info could propagate and percolate
to those few procedures which actually use them.
If you view a module as an object in the Object-Oriented sense, these
effectively correspodn to modifiable instance variables.
Again, I use FLUID-LET (which I hope uses dynamic-unwind) to reset
my state to a sane default if/when I blow out into the debugger
and abort.
By the way, what I was alluding to whith my reference to exception
handling was that something like (SIGNAL over-flow "Overflow on
arg to SQUARE" arg) will invoke something which depends non who the
dynamic caller to SQUARE was. It involves dynamically binding a
handler that the callee invokes upon error (default is "the no handler
handler"). This is the classic way that exception handling is presented
in a denotational sematics setting (namely, bind a handler continuation
in a dynamic environmnety.
[Sorry about all the typos... the blasted machine I am hacking on does
not understand my terminal type so I cannot use EMACS or even backspace
to fix myself. We lowly gradual students sometimes have to make do with
losing eqipment in public areas.]