This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: guile-vm-0.0


Keisuke Nishida <kxn30@po.cwru.edu> writes:

> Yes, I think my VM will work on top of the existent evaluator.
> Both have different benefits, and probably two can cooperate.

Hmm, I'm not sure if I would want to have two evaluators in Guile.
Just one should be enough to maintain.  Making the two cooperate might
be possible, but not too easy, especially when you consider the two
tail-calling each other.

And, your VM has a real compiler, wihch behaves differently when it
comes to macros and probably other things.  I think there is little
reason, to maintain a slightly incompatible second evaluator when the
primary evaluator (your VM, not the current one!) has good debugging
support (which is the only real reason to keep a pure interpreter).

> > I guess your primary goal is to improve the speed of Guile, right?  I
> > want to reduce loading time, on the other hand.  So hopefully, we can
> > combine our efforts and have high speed and fast loading.
> 
> That is one.  Other possibilities are
> 
>  o To dump the bytecode in a file and improve loading time.

Yes.  This has some complications of its own, and I have experimented
a little bit with that already.
 
> I think the evaluator is more suitable for interactive use during
> development, while the VM is more suitable for execution of
> completed programs.

Hmm, couldn't we improve your VM to also be good at interactive use?
What is unsuitable about it currently?

> BHW, my primary goal is not to improve the speed of Guile but to
> improve my skill of programming :)

Right on!  In fact, this is one big reason, why I consider killing my
tree-code evaluator idea: you seem to be a damn good hacker, I can't
keep up with you anyway.

> Since I've never written a compiler, this is just fun.

Yes, same here. :)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]