Re Marc:
Multiple global environments are useful for creating separate instances of the Gambit VM in the same OS process which do not share the global variables. This might be useful in a "shared nothing" multithreading model (like Erlang/Termite). But for a shared-memory model (like Multilisp) a shared global environment would be appropriate, with the advantage of no overhead for accessing global variables.
That there will be no overhead on global variable access with 'SMP Gambit' is great!
Re Raffael:
Would those separate VMs run in separate OS threads (which the OS could then schedule on separate cores even if they are running in the same process)?
IOW, for many of us, the advantage of multiple VM instances is that they could take advantage of multiple cores. Having multiple VM instances in the same OS process seems, to some of us at least, somewhat less useful.
Mm - currently when SMP shared-memory-model support is not available as per Marc's PhD thesis, it's great that we now have the option of compiling Gambit to support concurrent use of multiple OS threads, and even greater when this SMP support will be there :-D
Kind regards, Mikael