unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Article on VM's
@ 2010-02-08 22:00 Linas Vepstas
  2010-02-09  8:50 ` Andy Wingo
  0 siblings, 1 reply; 5+ messages in thread
From: Linas Vepstas @ 2010-02-08 22:00 UTC (permalink / raw)
  To: Guile Development

FYI,

I just tripped over
http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines
and noticed that guile-1.9 is notable in its absence
from the list...  For the point of view of good advertising
for guile, and drumming up new users/maintainers, it might
be good to get listed there.  I'd add text myself, but am
more or less totally ignorant of the topic ...

--linas




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Article on VM's
  2010-02-08 22:00 Article on VM's Linas Vepstas
@ 2010-02-09  8:50 ` Andy Wingo
  2010-02-09 16:10   ` Grant Rettke
  2010-02-10 16:36   ` Ewan Higgs
  0 siblings, 2 replies; 5+ messages in thread
From: Andy Wingo @ 2010-02-09  8:50 UTC (permalink / raw)
  To: linasvepstas; +Cc: Guile Development

On Mon 08 Feb 2010 23:00, Linas Vepstas <linasvepstas@gmail.com> writes:

> I just tripped over
> http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines
> and noticed that guile-1.9 is notable in its absence
> from the list...  For the point of view of good advertising
> for guile, and drumming up new users/maintainers, it might
> be good to get listed there.  I'd add text myself, but am
> more or less totally ignorant of the topic ...

Interesting link. Someone should take up the task of "wikipedia
gardener" for Guile :)

Andy
-- 
http://wingolog.org/




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Article on VM's
  2010-02-09  8:50 ` Andy Wingo
@ 2010-02-09 16:10   ` Grant Rettke
  2010-02-10 16:36   ` Ewan Higgs
  1 sibling, 0 replies; 5+ messages in thread
From: Grant Rettke @ 2010-02-09 16:10 UTC (permalink / raw)
  To: Andy Wingo; +Cc: linasvepstas, Guile Development

On Tue, Feb 9, 2010 at 2:50 AM, Andy Wingo <wingo@pobox.com> wrote:
> Interesting link. Someone should take up the task of "wikipedia
> gardener" for Guile :)

Does Guile have a public relations person?




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Article on VM's
  2010-02-09  8:50 ` Andy Wingo
  2010-02-09 16:10   ` Grant Rettke
@ 2010-02-10 16:36   ` Ewan Higgs
  2010-02-11 19:50     ` Andy Wingo
  1 sibling, 1 reply; 5+ messages in thread
From: Ewan Higgs @ 2010-02-10 16:36 UTC (permalink / raw)
  To: Guile Development

Given the list of existing VMs, is there any technical, ethical, moral, or legal reason why Guile doesn't/didn't use another VM? And if it/we did decide to use another VM which would be the best candidate? Maybe I missed this discussion on the list.

Thanks!
Ewan



----- Original Message ----
> From: Andy Wingo <wingo@pobox.com>
> To: linasvepstas@gmail.com
> Cc: Guile Development <guile-devel@gnu.org>
> Sent: Tue, 9 February, 2010 8:50:43
> Subject: Re: Article on VM's
> 
> On Mon 08 Feb 2010 23:00, Linas Vepstas writes:
> 
> > I just tripped over
> > http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines
> > and noticed that guile-1.9 is notable in its absence
> > from the list...  For the point of view of good advertising
> > for guile, and drumming up new users/maintainers, it might
> > be good to get listed there.  I'd add text myself, but am
> > more or less totally ignorant of the topic ...
> 
> Interesting link. Someone should take up the task of "wikipedia
> gardener" for Guile :)
> 
> Andy
> -- 
> http://wingolog.org/









^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Article on VM's
  2010-02-10 16:36   ` Ewan Higgs
@ 2010-02-11 19:50     ` Andy Wingo
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Wingo @ 2010-02-11 19:50 UTC (permalink / raw)
  To: Ewan Higgs; +Cc: Guile Development

Hi Ewan,

On Wed 10 Feb 2010 17:36, Ewan Higgs <ewan_higgs@yahoo.co.uk> writes:

> Given the list of existing VMs, is there any technical, ethical,
> moral, or legal reason why Guile doesn't/didn't use another VM? And if
> it/we did decide to use another VM which would be the best candidate?
> Maybe I missed this discussion on the list.

Ah, there's lots of discussion if you look back to the 90s, but I wasn't
around then, so I'll leave you to the spelunking :)

Here is part of the history as I know it:
http://wingolog.org/archives/2008/11/02/guile-bar-mitzvah

And a relevant quote:

    history

    I started on this project because I had a social investment in
    Guile, and wanted my own code to run faster. Luckily, Keisuke
    Nishida already did all of the hard work for me.

    Working with Kei's code has been incredibly enlightening, we've been
    having conversations, displaced in time: I come up with the
    questions, then I notice the answers already in the source. I have
    never actually corresponded with Keisuke in the conventional sense.
    This is a beautiful and strange thing about free software.

    Since then, the code passed through Ludovic Courtès' hands for some
    years, then I unearthed it and brought it to where it is today. It's
    been a pleasing task, having all of the right decisions already made
    for you, just having to fill in the missing bits.

    I should also mention that I had no idea how to write a compiler --
    Ghuloum's beautiful paper notwithstanding. But seeing code that
    breaks it down into levels that I understand has empowered me as a
    programmer to create things that I did not think possible.

History is full of accidents, as you know.

Besides history, there are some technical and social considerations. Not
all VMs are appropriate for Scheme; a notable example would be the JVM's
lack of tail calls. Also consider multiple values, continuations, and
dynamic-wind.

But any time you adapt to someone else's abstraction, you lose a little
bit of autonomy. You also lose flexibility and understanding (the
understanding that one gains while hacking a VM). That's why most every
Scheme has their own compiler, most have their own GC, the ones with VMs
have custom VMs...

Regarding flexibility, one might look at
http://git.savannah.gnu.org/gitweb/?p=guile.git;a=history;f=libguile/vm-i-system.c;hb=HEAD
to see what I mean.

Socially you need to be able to build on something that's not going to
change out from under you; few of the VMs on that list meet that
criteria. Also such a package would need to be appropriate for including
into the GNU system. Few qualify.

There are more reasons, but most only justify the present. If I were
hacking anew now, though, I still think I'd go with a bespoke stack
machine. Eventually we'll do decent ahead-of-time native compilation
anyway, and the point will be moot.

Cheers,

Andy
-- 
http://wingolog.org/




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-02-11 19:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-08 22:00 Article on VM's Linas Vepstas
2010-02-09  8:50 ` Andy Wingo
2010-02-09 16:10   ` Grant Rettke
2010-02-10 16:36   ` Ewan Higgs
2010-02-11 19:50     ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).