Re: pTk for guile?

Jim Blandy (jimb@cyclic.com)
Wed, 9 Apr 1997 13:33:56 -0500

People are getting loose with terminology here. The scoping isn't the
issue. The problem is that CONS is just an ordinary variable whose
value happens to be our favorite function. The compiler must prove
that no other code will change the value of CONS before it may make
assumptions about its contents.

There are various ways of coping with this.
- SCM and Guile have an unusual interpreter, such that open-coding
(inlining) wouldn't be that significant (I think).
- MIT Scheme has a special declaration you can put at the top of your
file which explicitly gives the compiler permission to open-code
the usual suspects.
- Chez Scheme has a special notation for referring to primitive
operations directly, not through variables, making the compiler's
job trivial.
- Some folks give their module systems semantics that are easy for the
compiler to analyze.

I'm sure there are other tactics.