[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: VM module design
From: |
Keisuke Nishida |
Subject: |
Re: VM module design |
Date: |
Wed, 21 Feb 2001 05:36:08 -0500 |
User-agent: |
Wanderlust/2.4.0 (Rio) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/21.0.96 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) |
At Wed, 21 Feb 2001 05:02:48 -0500,
Keisuke Nishida wrote:
>
> Compilation
> -----------
>
> At the beginning of compilation, top level variables are globally
> identified in the module hierarchy and transformed as follows:
>
> (define-module foo)
>
> bar -> ~:foo:bar
>
> The notation "~:foo:bar" is expanded as follows:
>
> ~:foo:bar -> (lookup (lookup ~ 'foo) 'bar)
By the way, this is just an internal behavior of the compiler.
A language, like R5RS, may choose not to do this expansion, or
use another expansion policy. In those cases, the module system
may look differently in those languages. Still, the compiler
and the VM use the same basis of a module system as shown above.
On the other hand, I'm going to implement yet another dialect
of Scheme, which support a type system, a fully integrated OOP
system, a module system with `:' expansion, slot access by
`.' expansion, embedded mathematics syntax by `[...]' expansion,
and whatever I like. That's my goal.
Kei
- VM module design, Keisuke Nishida, 2001/02/21
- Re: VM module design,
Keisuke Nishida <=