Subject: Re: scheme implementation that supports multiple interpreters?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 2000/05/01
Newsgroups: comp.lang.scheme
Message-ID: <8eisve$5n072$1@fido.engr.sgi.com>
Nick Beaudrot  <niq@techhouse.brown.edu> wrote:
+---------------
| I'm trying to find an implementation of scheme that supports multiple
| interpreters running at the same time in the same process 
| (but in different threads). This is so that each thread can have
| different definitions of certain procedures.
+---------------

Take a look at MzScheme <URL:http://www.cs.rice.edu/CS/PLT/packages/
mzscheme/index.html>, not only at the thread stuff but also at
"namespaces" and "parameterizations", both of which are per-thread.
In particular, as it says in the docs under "Global Variable Namespaces":

	The current namespace is used by eval, load, compile, and
	expand-defmacro. Once an expression is evaled or compiled,
	the global variable references in the compiled expression
	are permanently attached to a particular namespace, so the
	current namespace at the time that the code is executed is
	*not* used as the namespace for referencing global variables
	in the expression.

I suspect that can be used to do what you want.


-Rob

-----
Rob Warnock, 41L-955		rpw3@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043