[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: dynamic binding
Date: Mon, 11 Dec 89 19:32:19 EST
From: ziggy@hx.lcs.mit.edu (Michael R. Blair)
I have tried a few times to implement a nice error handling mechanism in
Scheme ... modeled losely after exception signalling in Mesa/CLU/Ada.
Interesting... as I recall, exception handler scoping in CLU is lexical,
and I would be surprised if that were not also the case in Mesa and Ada.
No, wait, this is coming back to me. Exception handler scoping in CLU
is kinda weird. The scope of a condition handler is the body of the
procedure that defines it (do I correctly recall that handlers can be
set up only for entire procedures, not for parts thereof?) and all the
procedures it calls *directly*, but *not*, curiously enough, the
procedures it calls indirectly (i.e. those its callees call). Do I have
this right? Where did I put that old CLU manual anyway?...
I have wanted FLUID-LET... one that dynamic unwinds so when an ABORT key
is pressed I don;t find myself in an inconsistent state.
I cannot think of an elegant way to implement such a dynamic mechanism
without using REAL dynamic binding. Call me shallow, but I cannot imagine
how modules would help this... and I think exception handing enhances
modularity and is essential for programming in the large.
I agree that exception handling is essential.
P.S. Please fix me if I'm broken... "proof by lack of imagination" is not
very compelling, I realize.
Um, I need a little more specific a scenario to respond to. What did
you want FLUID-LET for, exactly?
-- Scott