POS, OOFS, CL v Scheme, etc.
Tue, 13 May 1997 12:22:51 -0500 (CDT)
From: firstname.lastname@example.org (Henry G. Baker)
Date: Tue, 13 May 1997 07:41:37 -0700 (PDT)
For example, the LispM used 'stack groups' for its threads, and
these turned out to be pretty 'heavy weight', due to the
requirement to bind and rebind a bunch of shallow-bound 'special'
variables. I'm not sure that this is such a hot idea in 1997.
Therefore, since CL was based substantially on the LispM model, I'm
not so sure that CL itself can survive without change into 1997
I was always amazed that they implemented dynamic binding that way.
But that is a low-level implementation decision you could alter
without effecting much else. Things have changed: Memory writes are
more expensive, coding style uses much less dynamic binding, and
threads are used much more widely. I'd be willing to bet a beer that
a deep-binding approach will win. Dereferencing dynamic bindings
would be much more expensive, but stack-group switching would be
considerably cheaper: Just save the old registers and restore the new