This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: New Guile VM
- To: Keisuke Nishida <kxn30 at po dot cwru dot edu>
- Subject: Re: New Guile VM
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: 17 Aug 2000 18:31:48 +0200
- Cc: Mikael Djurfeldt <djurfeldt at nada dot kth dot se>, dan at sof dot ch, guile at sourceware dot cygnus dot com
- Cc: djurfeldt at nada dot kth dot se
- References: <E13PEgR-00059a-00@mdj.nada.kth.se><m3sns4dv6h.fsf@indy.STUDENT.CWRU.Edu>
- Reply-To: djurfeldt at nada dot kth dot se
Keisuke Nishida <kxn30@po.cwru.edu> writes:
> How would you draw a road map toward the new interpreter?
Originally (before I became a Guile maintainer), my plan was to
develop the interpreter in parallel to Guile development and then
propose a switch when it had reached some level of maturity.
Now many things have changed for me and I don't have as much time as I
didn't have previously.
So, the reason why I put the sketch in guile-core/devel was not a
concrete plan to realize this interpreter. I just thought that some
of the ideas of how it uses the stack could be interesting for you
now. Maybe it isn't very different from what you already have, but
this idea with a dynamic context block seems good. The idea of
producing "branches" should be realizable some time after GOOPS
integration.
> I would suggest this:
>
> 1. Write a VM and a compiler that evaluates R5RS without modifying
> the current Guile's core.
>
> 2. Add a support for the current module system and a feature of
> bytecode saving/loading to/from files.
>
> After this, a VM version of Guile 1.4.x can be released
> (if it is desirable).
>
> 3. Add a support for GOOPS. After the integration of GOOPS,
> the VM can be optimized for it.
>
> 4. The support for the new module system will be here.
>
> 5. The ior project will be after everything has come to work fine.
Sounds good to me, although I hope that some of this will be developed
in parallel.
> Optimizations like generating machine code can be done whenever
> it is appropriate.
Yes, but infrastructure needs to be planned taking this into account.