From: Joe Marshall
Subject: Re: [comp.lang.scheme] Re: mimicking multiple namespaces in Scheme?
Date: 
Message-ID: <vfvf58rv.fsf@ccs.neu.edu>
········@notam02.no writes:

> From: ···············@notam02.no
> Subject: Re: mimicking multiple namespaces in Scheme?
> Newsgroups: comp.lang.scheme
> Date: 09 Jun 2003 21:37:13 +0200
> Organization: ICEM - International Confederation for Electroacoustic Music
> Reply-To: ········@notam02.no
> 
> >>> "JM" == Joe Marshall <···@ccs.neu.edu> writes:
>     JM> If you use MzScheme (or one of the many fine products of
>     JM> the PLT group),
> 
> Im afraid no, im limited to the standard, or extensions to it
> provided by Guile or any of its modules.
> 
>     JM> you can redefine the syntax of function calls.  You could
>     JM> use this to turn MzScheme into a `2-namespace' lisp.
> 
> Are you suggesting that studying R5RS-macros or define-syntax
> could get me further with this?

Unfortunately, no.  PLT scheme considers variable references,
`standard' forms, and the `top-level' as special syntactic
constructs.  It's as if the form (foo bar baz) is converted to

(funcall (variable foo) (variable bar) (variable baz))

before being processed by the interpreter.  Because of this, you can
override the syntactic tags (essentially, redefine the internal
`funcall' as a macro).

This does not apply to other scheme implementations, though.