[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.]