Detecting at runtime when bindings go out of scope?

David McClain dbm at refined-audiometrics.com
Fri Aug 26 22:51:49 UTC 2016


Hi Ala,

Yes, I looked at the Custodian concept. Not quite what I have in mind. I implemented some Custodians in Lisp to see how they feel in the code. And as a last resort, that would certainly be a way to go. But the level of control is very coarse. I have the impression that Scheme does not have UNWIND-PROTECT.

And in a situation where you have literally thousands of ephemeral resource allocations between points of custodial interaction, then the custodian tables consume huge amounts of useless garbage that I’d prefer to hand back to GC. So really, GC, Finalization, and the ever-favorite UNWIND-PROTECT offer much finer grained control.

If you want to see the custodians, just give me a holler. They are free for the asking. Custodians.lisp

- DM

> On Aug 26, 2016, at 13:42, Ala'a Mohammad <amalawi at gmail.com> wrote:
> 
> Custodians from Racket looks like what is described
> https://docs.racket-lang.org/reference/eval-model.html#%28part._custodian-model%29
> 
> On Fri, Aug 26, 2016 at 5:51 PM, David McClain
> <dbm at refined-audiometrics.com> wrote:
>> Thanks for both of those references…. Dinosaur indeed… I’m old enough too,
>> that I need to avoid walking near the La Brea Tar Pits…
>> 
>> - DM
>> 
>> 
>> On Aug 26, 2016, at 06:42, Hans Hübner <hans.huebner at gmail.com> wrote:
>> 
>> The Lisp Machine Manual has a nice chapter on resources that may be of
>> interest: https://hanshuebner.github.io/lmman/resour.xml
>> 
>> 
> 
> 




More information about the pro mailing list