Re: Crazy macro



As far as I can see, the only way you gain from using local functions
is if you use shared variables to avoid passing and returning values:

(let ((shared1...) (shared2 ...))
(flet ((fn1 (...)
(let ()
(cond (..
(fn2 ...)))))
(fn2 (...)
(cond (...)
(t
(multi-let ((..))
(fn3 ...)))))
...)

(fn1 ...)))

where the functions can communicate by setting and reading the sharedI.

I'll let you and Kenny argue this one out.

By the way, I've used all the ideas you guys have suggested for years.
I only stumbled on the idea of 'control-nest' in the last six months.
In general, I would rather find a tidy way to break a long computation
into local subroutines. But if there's really no natural way to do
it, control-nest is a nice resource to have. It's cheaper than buying
the extra-wide monitor.

-- Drew

.