[gambit-list] As far as the renaming scheme goes, ...
Bradley Lucier
lucier at math.purdue.edu
Tue Mar 18 14:10:23 EDT 2008
On Mar 18, 2008, at 1:50 PM, Bradley Lucier wrote:
> I ran into a similar problem recently when hacking on the Meroon
> object system (which uses define-macro): Macros needed to be
> written so that (a) expressions passed as arguments are evaluated
> in the environment where the macro appears, e.g.,
>
> (declare (safe) (not block) (not standard-bindings)(not extended-
> bindings)),
>
> while (b) the code inserted by the macro is compiled in the
> environment in place when the Meroon macro is defined, e.g.,
>
> (declare (not safe)(block)(standard-bindings)(extended-bindings)
> (fixnum)).
>
> So can these module systems extend the idea of "hygiene" to include
> Gambit's compilation environment? (Aziz and Andre, are you
> listening?)
I suppose that, given R6RS semantics, about the only compilation
"environment" options that need to be considered are code generation
options:
([not] safe)
([not] inline)
([not] inline-primitives primitive…)
(inlining-limit n)
([not] lambda-lift)
([not] constant-fold)
([not] run-time-bindings var…)
(mostly-number-type primitive…)
I suppose that
(standard-bindings)
(extended-bindings)
(block)
are implied by R6RS semantics, no?
Brad
More information about the Gambit-list
mailing list