[gambit-list] As far as the renaming scheme goes, ...

Bradley Lucier lucier at math.purdue.edu
Tue Mar 18 13:50:02 EDT 2008


On Mar 18, 2008, at 12:25 PM, Ken Dickey wrote:


>> Dimitris Vyzovitis wrote:
>>
> ...
>
>> One of the problems I have with these systems (including the modules
>> produced by the orignal portable syntax-case) is that they produce  
>> mutable
>> bindings for module/library exported identifiers.
>>
>
> Note that R6RS library bindings are immutable.
>

Yes, but as your next comment might imply, either the module  
implementation needs to change or Gambit's compiler implementation  
needs to change so that the compiler can exploit that information.

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?)


>> Ideally, the module system shouldn't expand to core scheme, but  
>> rather to
>> gambit's core forms.
>>
>
> Sounds like the start of a master's thesis to me!   ;^)
>

Brad




More information about the Gambit-list mailing list