all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: mdj <mdj.mdj@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: What's the spec for emacs lisp virtual machine ?
Date: Thu, 29 Jul 2010 22:28:53 -0700 (PDT)	[thread overview]
Message-ID: <afb28157-1899-4243-bac6-a621385feb7f@s17g2000prh.googlegroups.com> (raw)
In-Reply-To: 80cc90dc-d66b-4d93-9ff9-dccacec01770@c10g2000yqi.googlegroups.com

On Jul 30, 3:01 pm, Fren Zeee <frenz...@gmail.com> wrote:
> On Jul 29, 8:51 pm, mdj <mdj....@gmail.com> wrote:
>
> > On Jul 23, 4:12 pm, Fren Zeee <frenz...@gmail.com> wrote:
>
> > > Why is a VM needed when there is compiled C code running machine
> > > code ?
>
> > The are two essential reasons. Firstly, the bytecode is more compact
> > in memory than either the machine code or the READ lisp code.
> > Secondly, it loads a good deal faster from disk, allowing emacs to
> > start (relatively) quickly.
>
> an example
>
> preferably from an emacs file from savannah link so one could get an
> idea of the animal.

Any emacs lisp source file will serve as an example.

> theoretical reasons for speed ?

bytecode is simpler to parse, and more compact in its representation
than s-expressions represented as cons cells.

> > Thirdly, it is relatively straightforward to implement a portable
> > bytecode interpreter in C that will then compile on any architecture
> > for which one has a C compiler. This is a great deal less work than
> > developing a 'to-machine-code' compiler for every architecture out
> > there.
>
> Why is it less than porting the C compiler ? How would it be written ?
> assembler ?

Are you suggesting the emacs lisp compiler could target C instead of
bytecode?

> > Keep in mind that the early releases of GNU Emacs were in the mid
> > 1980's when personal computers powerful enough to run Emacs had
> > typically perhaps 1mb of RAM. Keeping the in-memory footprint of Emacs
> > small was more important than raw speed which would need more RAM, and
> > necessitate customizer the code generator for every conceivable
> > architecture.
> > In 1989 there were a LOT of 32bit microprocessor architectures out
> > there, and many still survive to this day.
> > To answer the rest of your questions, I'd recommend enrolling in a
> > good computer science degree.
>
> I am sure someone can point to a tutorial paper or book,
>
> no one need you to give that obvious advice ... so obvious that i
> consider rude

Okay, but your relatively poor command of english is making you appear
very rude as well. Perhaps consider using more words to describe what
you mean. The odd gratuity like 'please' and 'thanks' would do wonders
for your style.




  reply	other threads:[~2010-07-30  5:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-23  6:12 What's the spec for emacs lisp virtual machine ? Fren Zeee
2010-07-23  8:34 ` Pascal J. Bourguignon
2010-07-23 15:59   ` Fren Zeee
2010-07-23 16:01     ` Fren Zeee
2010-07-23 16:03       ` Fren Zeee
2010-07-23 16:41         ` Pascal J. Bourguignon
2010-07-23 17:57         ` Barry Margolin
2010-07-23 16:40     ` Pascal J. Bourguignon
2010-07-30  3:51 ` mdj
2010-07-30  5:01   ` Fren Zeee
2010-07-30  5:28     ` mdj [this message]
2010-07-30  5:41       ` Fren Zeee
2010-08-02 19:35     ` Barry Margolin
  -- strict thread matches above, loose matches on Subject: below --
2010-07-23  6:15 Fren Zeee
2010-07-23  7:28 ` Alfred M. Szmidt
2010-07-23 16:18   ` Fren Zeee
2010-07-23 17:13     ` Chong Yidong
2010-07-23  7:51 ` Thien-Thi Nguyen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=afb28157-1899-4243-bac6-a621385feb7f@s17g2000prh.googlegroups.com \
    --to=mdj.mdj@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.