[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: LISP-FORUM at MIT-AI
- Subject: Re: unwinding-scope
- From: EB at MIT-AI (Edward Barton)
- Date: Mon ,18 Aug 80 16:03:00 EDT
- Cc: MOON5 at MIT-AI
MOON5@MIT-AI 08/18/80 02:02:01 Re: unwinding-scope
This is a ridiculous proposal. If you want to keep track of state
you should keep it in variables. Nothing says you aren't allowed
to have conditionals, mapcars of eval down a list, or whatever
else you like in your unwind-protect cleanup forms.
Nothing says it isn't allowed, and neither did I since my proposal is
built on just that sort of capability (though EVAL would be the wrong
thing to map). What I proposed was a uniform convention for doing
the things I described so that if somebody wants them he doesn't have to
re-invent them. And so that he doesn't structure his code differently
from the way he really wants just so that the existing IOTA works.
And so that something general like the proposed LOAD can be written.
"If you want to keep track of state you should keep it in variables."
I'm not sure what is being proposed here. My proposed macros do use
variables, as does most code. If you propose somehow putting things
in variables rather than anywhere else, I don't see why structures,
lists, properties, etc. are suddenly bad to use. If you propose
always writing something like an IOTA form, I already explained that
you may not know in advance what or how many things will want to be
undone; review the examples. If you are merely making an unsupported
statement (similar to the statement once made that if your reader
macros have side effects then you're "clearly doing something wrong")
then the statement, of course, stands as such.