From: Janos Blazi
Subject: Compiling vs. Byte compiling
Date: 
Message-ID: <beet-7velgf/INN-2.2.1/bobcat@broadway.news.is-europe.net>
What is exactly the difference? Is the byte-compiled code still interpreted?

Janos Blazi

From: David Bakhash
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <cxjpuxwdgyd.fsf@engc.bu.edu>
"Janos Blazi" <······@netsurf.de> writes:

> What is exactly the difference? Is the byte-compiled code still
> interpreted?

This is a common question, and I asked it too.  I'm not quite sure
there is a universally correct answer, though.

compilation is a broad term that suggests translating code from one
language into another, and (usually) implies optimization along the
way (at least in my mind).

Byte compilation often refers to compilation into instruction chunks
called "bytecodes".  These codes are usually at a higher level than
machine code, and so usually a bytecode interpreter will read the
bytecodes and then perform the machine-specific operations.

This is the distinction between something like ACL (Franz) and CLISP.
The former will compile Lisp into native machine code while the latter 
compiles Lisp source into bytecodes that the bytecode interpreter will 
use.

There is usually a big win associated with byte compilers in the sense 
of portability, simplicity, etc.  I've never written a compiler for
Lisp, but my guess would be that writing the Lisp-to-bytecode compiler 
is a simpler task (especially since the bytecode language can be
designed with Lisp in mind, whereas most machine codes are not).
Then, you can work separately on the problem of byte-code to
machine-code.

I think, in the end, better performance can be gained by skipping the
bytecode layer.  Again, more people will surely follow up, so some of
the experts in this field may give you more guidance.

dave

-- 
-----------------------------------------------------
Get your email delivered to your cell phone for free!
Go to http://www.mailmycell.com
-----------------------------------------------------
From: Tim Bradshaw
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <ey3emec7meo.fsf@lostwithiel.tfeb.org>
* Janos Blazi wrote:
> What is exactly the difference? Is the byte-compiled code still interpreted?

Byte code is typically code for an abstract machine, usually much
simpler than a real machine, for which there exists an interpreter
which runs these byte-compiled programs.  Byte codes have the
advantage that they're portable, typically more compact than native
code, and that you only have to write the byte code interpreter for
each new system, not a whole native compiler. There may also be a
further compilation stage which translates byte codes into real
machine code, and this may sometimes happen on the fly, and only on
demand.

Although they don't call it byte compiled (do they?), Java is a good
example of a system like this, complete (nowadays) with a byte-code to
native-code compiler.

of Lisps in common use, I think CLISP is entirely byte compiled, while
CMUCL has both a byte compiler and a (heavy-duty) native compiler.

--tim
From: Barry Margolin
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <riRS3.69$PK1.2361@burlma1-snr2>
In article <···············@lostwithiel.tfeb.org>,
Tim Bradshaw  <···@tfeb.org> wrote:
>* Janos Blazi wrote:
>> What is exactly the difference? Is the byte-compiled code still interpreted?
>
>Byte code is typically code for an abstract machine, usually much
>simpler than a real machine, for which there exists an interpreter
>which runs these byte-compiled programs.  Byte codes have the
>advantage that they're portable, typically more compact than native
>code, and that you only have to write the byte code interpreter for
>each new system, not a whole native compiler. 

Often the byte code interpreter is written in some other high level
language, so it's also portable.  A good example of this is Emacs Lisp.

-- 
Barry Margolin, ······@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Rainer Joswig
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <joswig-3110990900090001@194.163.195.67>
In article <···············@lostwithiel.tfeb.org>, Tim Bradshaw <···@tfeb.org> wrote:

> * Janos Blazi wrote:
> > What is exactly the difference? Is the byte-compiled code still interpreted?
> 
> Byte code is typically code for an abstract machine, usually much
> simpler than a real machine,

sometimes this code is executed by a real (-> hardware) machine.
From: Marco Antoniotti
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <lwu2n78zna.fsf@parades.rm.cnr.it>
"Janos Blazi" <······@netsurf.de> writes:

> What is exactly the difference? Is the byte-compiled code still interpreted?

IMHO, the term "compilation" is abused.  The term "translation" is probably
better.  Currently, the parameter which separates "byte-code" from
"native-code" translators lies in the answer to the question "who
executes what".

A "byte-compiler" translates to "something" which is executed by
another program.  The most notable cases around today are Emacs (you
have not answered the question whether you are using Emacs or not :)),
and Java.  Emacs contains a "byte code interpreter" which executes
"byte coded Emacs Lisp".  Java comes with a Virtual Machine which is
nothing less than an intepreter for Java byte codes.

A "native-code" translation of a program is run by the underlying
hardware.  The number of levels between the two extremes may be great.

(Common) Lisp is usually translated to native code (apart from the
CLisp implementation which translates to byte code).

CMUCL has native code translators and a byte code translator.
The major commercial implementations (ACL, LWW, Liquid, MCL, Corman)
have native code translators.

GCL translates to (human-unusable) C, which in turns is translated to
native code, as does (I believe - Howard can correct me) Eclipse.

OTOH, Lisp high level form (i.e. S-exps) is already amenable of direct
executuion by means of a program (i.e. the interpreter) which is
present in every implementation.

Does this clarify the issues?

Cheers

-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa
From: Janos Blazi
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <bearberry-7vie7o/INN-2.2.1/bloodstain@broadway.news.is-europe.net>
> have not answered the question whether you are using Emacs or not :)),

Sorry, I must have overseen the question. Yes, I use EMACS and wrote two or
three hundred lines of EMACS LISP code.
After that my EMACS have behaved like a strange mixture of NT and my old
BRIEF editor which L loved very much. (I prefer EMACS now.)

This was the first time I came across LISP and I was enthralled with it.
Then I downloaded CLISP. In the documentation you can read that "the book by
Steele is the best text book I know", but this was not written by Bruno
Haible, it was written by somebody else. The very same day I borrowed the
book from the library of the university and ordered the book by Graham. I
also borrowed a German book on LISP wich turned out to cover Nils' LISP
mainly but also covered CL to some extent.

Then I was angry as I found the German book  bizarre for different reasons
and the book by Steele was a scholarly work or a reference manual rather
than a textbook for beginners. As a beginner you are not very much
interested in how XJ3delta-gamma voted on the 12th September 1989 and you
would prefer more examples. Also it seemed to me as if the metalanguage he
used was a bit unusual. So I was angry and then I looked at the Amazon.com
web site and the Barnes and Noble web site. I have been their customer for
some time. And then I saw that no books were written in the last two or
three years (or to put it more precisely no new books were published).

But I then visited the LISP home page and found the book by Lamkins and it
is a VERY NICE book, it is a pity that he cannot publish it. Publishing such
a book on a CD does not satisfy me as I want to read books in my bed and on
the toilet and on the train an everywhere.

So by then I had had enough books. Suddenly several people started talking
about their own bookshops and about other interesting things. I was
fascinated as I even could learn a lot about the bookshops in the world, not
only about LISP.

I only mentioned those bookshops I could reach as they proved the vanishing
demand for LISP. And then some people started hating me but this is not
unusual. Clearly the guy who shouted "FIRE" must be the arsonist.

Janos Blazi

Well, that's the way it is.
From: Rainer Joswig
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <joswig-0111990018400001@194.163.195.67>
In article <·····································@broadway.news.is-europe.net>, "Janos Blazi" <······@netsurf.de> wrote:

> some time. And then I saw that no books were written in the last two or
> three years (or to put it more precisely no new books were published).

That's no big problem. Common Lisp is around quite some time.

Get PAIP, AMOP, Lisp 3rd Editon, etc. and then come back
when you read it.

Then read the manuals of your favorite Lisp system. My
Lisp Machine for example has a meter worth of documentation.
From: Gareth McCaughan
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <86aeozt2nt.fsf@g.local>
Janos Blazi wrote:

> I only mentioned those bookshops I could reach as they proved the vanishing
> demand for LISP. And then some people started hating me but this is not
> unusual. Clearly the guy who shouted "FIRE" must be the arsonist.

1. The point of shouting "Fire!" is to enable everyone to get out
   before they burn to death. What's the point of shouting "Lisp
   is dying!", even if it's true? What do you propose to do about
   it?

2. If you shout "Fire!" in a crowded building where there *isn't*
   a fire, a lot of people can get badly hurt in the stampede.
   Why not take some steps to establish whether there really is
   a fire or not, before shouting about it?

3. If you shout "Fire!" in a large shop and everyone runs away,
   they'll have some justification for complaining that you've
   harmed their sales and been the cause of damage to their stock
   when everyone rushes out. Don't you think it's rude to
   proclaim the death of something people are working on and
   making a living from, if you don't have really solid evidence?

It's not a matter of hating *you*, by the way. Just objecting
to the same tired old claims being bandied about without enough
evidence. The world is full of people announcing the death of[1]
Lisp, socialism, capitalism, evolution, Christianity, science,
artificial intelligence, and a million and one other things which
in fact seem likely to last longer than their critics will. Is it
any wonder that some people get annoyed at hearing the same
claim made for the 101st time?


[1] Apart from the inclusion of Lisp, the list is arbitrary.

-- 
Gareth McCaughan  ················@pobox.com
sig under construction
From: Janos Blazi
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <ague-7vjng4/INN-2.2.1/antenna@broadway.news.is-europe.net>
O.K., this was an honest letter and I am going to answer honestly.

> 1. The point of shouting "Fire!" is to enable everyone to get out
>    before they burn to death. What's the point of shouting "Lisp
>    is dying!", even if it's true? What do you propose to do about
>    it?
>

I actually did not shout fire but I smelled some smoke and ASKED if there
could be a fire. This means: I never told LISP was dying. I could not have,
as I did not know almost anything about LISP when we started but for those
few lines of EMACS LISP code I had written. And my purpose was simply to
find out about the state of affairs at the moment. I have found out about
it. So from this point of view this is an excellent newsgroup.

> 2. If you shout "Fire!" in a crowded building where there *isn't*
>    a fire, a lot of people can get badly hurt in the stampede.
>    Why not take some steps to establish whether there really is
>    a fire or not, before shouting about it?
>

I have partly answered this question already. I do not think anybody got
hurt; I may have (inadvertantly) hurt some people's feelings but I am sorry
for that and I would like to apololgize. I must admit the reaction came as a
complete surprise to me, I did not know about similiar discusions before and
I was stunned how angry some people became. It seems though that I touched
an open wound. Again: I did not know and if I had known that in advance I
would not have asked.

There is no proof whatsoever that some people abandoned LISP after reading
this discussion. I was not talking to a "crowd". I was talking to LISP
experts, I was talking to the chosen Few. So as far I can see there is no
proof for any damage.

> 3. If you shout "Fire!" in a large shop and everyone runs away,
>    they'll have some justification for complaining that you've
>    harmed their sales and been the cause of damage to their stock
>    when everyone rushes out. Don't you think it's rude to
>    proclaim the death of something people are working on and
>    making a living from, if you don't have really solid evidence?

Again, I did not proclaim anything. I just asked. And I asked on the grounds
of some cicumstantial evidence I had found. So if you maintain that I caused
damage to anybody you would have to prove that. I do not think the LISP
sales went down after my message.

And it makes a difference if your ideas are rude or the way you present
them. Ideas are seldom really rude; the can be unexpected, heretic
thought-provoking, weird e.t.c. I like to look at new, fresh ideas. After
some time then it is time for a judgement. I am very tolerant in the
beginning and after some time I keep on living with some of the new ideas
and I dismiss others. I always look at things from several different sides
at the same time.
Huxley wrote in "Eyeless in Gaza" that we should have several sets of eyes
to read several books at the same time as life is short and books so
infinetely many. I should like to have several sets of eyes to read the same
book with them with several attitudes at the same time.

But if you use rude language everything is different. You probably feel that
your means of expressing your thoughts in a language are not adequate and
this of course happens to many of us as English is not our native tongue.
There may be other reasons for feeling inferior. We all suffer from this.
But still most people try to use decent words. There is no excuse for using
rude language, no excuse at all.
>
> It's not a matter of hating *you*, by the way. Just objecting
> to the same tired old claims being bandied about without enough
> evidence. The world is full of people announcing the death of[1]
> Lisp, socialism, capitalism, evolution, Christianity, science,
> artificial intelligence, and a million and one other things which
> in fact seem likely to last longer than their critics will. Is it
> any wonder that some people get annoyed at hearing the same
> claim made for the 101st time?
>
>
Again I have not proclaimed anything. And after all, you cannot blame me for
things that happened before I was "borne" i.e. before I started asking
questions. May you can blame me that I had not read in deja.com what
happened in the newsgroup months ago. But this would be a bit unusual. But
if everything so happend (and I am  sure you are right): Then it would have
been enough if somebody ghad written "Wekll, this question is being asked
here periodically, please look at the FAQ "xxx" " or "well LISP is not
really dying and there are still a few thousand devotees around the world
who do good work so you can get all help you need here..." or something like
this.

Instead the first answer I received started with "o.k., let us flame on:". I
was very naive, I did not understand the expression "flame on" then. I have
understod it by now.

Announcing the dead of Christianity would be very stupid indeed, so stupid
that nobody would respond to it. Even the mythology of the ancient Greeks is
not dead, though there are not many people nowadays who believe that there
are Gods who live in the mountains. So if you compare my question I posted
with such stupidity then I must conclude that you do not appreciate me very
much, to say the least. It is all right.  But do you really think that LISP,
however nice it is, can be compared with such wonderful ideas like
Christianity or socialism, ideas that once change the world?

And finally: Isn't it fascinating that we are discussing such things after I
asked a technical question about byte compiling?

> [1] Apart from the inclusion of Lisp, the list is arbitrary.

Nothing is arbitrary in my response.

Janos Blazi
From: Gareth McCaughan
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <86zowxvlfs.fsf@g.local>
Janos Blazi wrote:

> O.K., this was an honest letter and I am going to answer honestly.
> 
>> 1. The point of shouting "Fire!" is to enable everyone to get out
>>    before they burn to death. What's the point of shouting "Lisp
>>    is dying!", even if it's true? What do you propose to do about
>>    it?
> 
> I actually did not shout fire

True enough. It was you who chose the analogy of someone who
shouts "Fire!"...

>                               but I smelled some smoke and ASKED if there
> could be a fire. This means: I never told LISP was dying. I could not have,
> as I did not know almost anything about LISP when we started but for those
> few lines of EMACS LISP code I had written. And my purpose was simply to
> find out about the state of affairs at the moment. I have found out about
> it. So from this point of view this is an excellent newsgroup.

Well, OK. Would you agree, with hindsight, that expressing your
enquiry in the form "Is Lisp dying?" was a sub-optimal choice?

>> 2. If you shout "Fire!" in a crowded building where there *isn't*
>>    a fire, a lot of people can get badly hurt in the stampede.
>>    Why not take some steps to establish whether there really is
>>    a fire or not, before shouting about it?
..
> There is no proof whatsoever that some people abandoned LISP after reading
> this discussion. I was not talking to a "crowd". I was talking to LISP
> experts, I was talking to the chosen Few. So as far I can see there is no
> proof for any damage.

comp.lang.lisp is not only read by Lisp experts. I'm not saying
that you've demonstrably damaged anything, but ths perpetual
sequence of threads entitled "Is Lisp dead?" or "Is Lisp dying?"
or "Lisp is dead" or whatever can't be good for Lisp.

> And it makes a difference if your ideas are rude or the way you present
> them.

I entirely agree.

> But if you use rude language everything is different. You probably feel that
> your means of expressing your thoughts in a language are not adequate and
> this of course happens to many of us as English is not our native tongue.
> There may be other reasons for feeling inferior. We all suffer from this.
> But still most people try to use decent words. There is no excuse for using
> rude language, no excuse at all.

Is this aimed at me? If so, I don't understand why. I haven't
been rude, have I? If it's aimed at Erik, then I don't think
your diagnosis of his reasons for being rude is anywhere near
the mark...

>> It's not a matter of hating *you*, by the way. Just objecting
>> to the same tired old claims being bandied about without enough
>> evidence. The world is full of people announcing the death of[1]
>> Lisp, socialism, capitalism, evolution, Christianity, science,
>> artificial intelligence, and a million and one other things which
>> in fact seem likely to last longer than their critics will. Is it
>> any wonder that some people get annoyed at hearing the same
>> claim made for the 101st time?
> 
> Again I have not proclaimed anything. And after all, you cannot blame me for
> things that happened before I was "borne" i.e. before I started asking
> questions. May you can blame me that I had not read in deja.com what
> happened in the newsgroup months ago. But this would be a bit unusual.

Well, it's often claimed that it's rude to start posting in a
newsgroup until you've lurked there for a month or so, but
actually I don't think there's anything very terrible about
not doing that. But if you don't do that, you should be very
careful...

> Announcing the dead of Christianity would be very stupid indeed, so stupid
> that nobody would respond to it.

I've seen it done (and by people who are clearly not stupid),
and I've seen people (and, again, people who are clearly not
stupid) respond. Ditto for most of the other things I mentioned.

>                                  Even the mythology of the ancient Greeks is
> not dead, though there are not many people nowadays who believe that there
> are Gods who live in the mountains. So if you compare my question I posted
> with such stupidity then I must conclude that you do not appreciate me very
> much, to say the least.

Well, let's look at this from a different angle. You don't consider
the present state of Greek mythology to be "dead", and yet you were
suggesting that Lisp was "dead" or soon going to be. Doesn't that
seem a little extreme? More dead than Zeus-worship?

As for the last sentence: it has nothing to do with my opinion
of *you*. What I have a low opinion of is the question you
asked. And "stupid" is probably the wrong word; "ignorant"
would be nearer the mark. And if I had a very low opinion
of everyone who ever asks ignorant questions, I can assure
you that I'd be no higher in my estimation than you. :-)

>                         It is all right.  But do you really think that LISP,
> however nice it is, can be compared with such wonderful ideas like
> Christianity or socialism, ideas that once change the world?

Nope. Lisp isn't likely to change the world in the way that the
great religions and political ideas have done. It doesn't have
the capacity for good that a correct religion or political system
could have, nor the capacity for harm that a bad religion or
political system could have. But one thing it has in common
with lots of religious and political beliefs is that people
keep saying it's dead when it isn't.

> And finally: Isn't it fascinating that we are discussing such things after I
> asked a technical question about byte compiling?

Yes. A wonderful (though sometimes annoying) thing, topic drift.

-- 
Gareth McCaughan  ················@pobox.com
sig under construction
From: Erik Naggum
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <3150504695675406@naggum.no>
* Gareth McCaughan -> Janos Blazi
| If it's aimed at Erik, then I don't think your diagnosis of his reasons
| for being rude is anywhere near the mark...

  for someone who pretends to be so upset with rudeness, Janos Blazi proves
  to be quite the hypocrite, like so many before him.  apparently, if you
  do _anything_ that such hypocrites considers rude, they feel free to post
  an incredible amount of crap about you in retaliation, wildly surpassing
  whatever you did to them to begin with.

  this amuses me greatly when it happens, because it goes to show that any
  desire on their part to be treated "nicely" can be nothing more than a
  defense mechanism to avoid being treated as they _deserve_.  so whatever
  this idiot is actually after, his continuation of slurs and attacks goes
  to show that he was not treated as harshly as he _should_ have been -- he
  now thinks he can get away with his very own lack of decency by blaming
  someone else for it.  we all know what such people are really made of.

  Janos Blazi, GET OVER IT!  maybe I can _get_ a reason to respect you,
  although I sincerely doubt that I will ever respect anyone who whines as
  relentlessly, uselessly, and as _much_ as you keep doing.  phooey!

#:Erik
From: William Deakin
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <381F0D91.BBBFF4EA@pindar.com>
Gareth McCaughan wrote:

> Zeus-worship?

This should be on the lisp-is-dead selfhelp help therapy-group! Thanks ;)

> A wonderful (though sometimes annoying) thing, topic drift.

I would prefer the word daft to drift...

Cheers,

:) will
From: Tim Bradshaw
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <ey3904i791l.fsf@lostwithiel.tfeb.org>
* Janos Blazi wrote:

> There is no proof whatsoever that some people abandoned LISP after reading
> this discussion. I was not talking to a "crowd". I was talking to LISP
> experts, I was talking to the chosen Few. So as far I can see there is no
> proof for any damage.

Not at all: you were posting to a newsgroup which might be read by
*anyone*, and on empirical evidence is often read by people who are
not Lisp experts (for instance, you!).

--tim
From: Janos Blazi
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <age-7vk4v9/INN-2.2.1/annulus@broadway.news.is-europe.net>
I wrote a  detailed response to a response to another response...
And then you write a response and take a line from my message. It is a line
that was not entirely correct I admit. And you point out this to me.

Well, you are right of course. But it is mostly read by experts or by people
who are seriously interested (like me). And I cannot rule out the
possibility either that the newsgroup is read by others as well.

But that was my point.


Tim Bradshaw <···@tfeb.org> schrieb in im Newsbeitrag:
···············@lostwithiel.tfeb.org...
> * Janos Blazi wrote:
>
> > There is no proof whatsoever that some people abandoned LISP after
reading
> > this discussion. I was not talking to a "crowd". I was talking to LISP
> > experts, I was talking to the chosen Few. So as far I can see there is
no
> > proof for any damage.
>
> Not at all: you were posting to a newsgroup which might be read by
> *anyone*, and on empirical evidence is often read by people who are
> not Lisp experts (for instance, you!).
>
> --tim
From: Tim Bradshaw
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <ey31zaa6wp9.fsf@lostwithiel.tfeb.org>
* Janos Blazi wrote:
> I wrote a  detailed response to a response to another response...
> And then you write a response and take a line from my message. It is a line
> that was not entirely correct I admit. And you point out this to me.

Exactly.  Because if CLL is read mostly by experts, then article
titles like `is lisp dying' will just annoy them.  If it's read
substantially by newcomers, then it may well cause them to go
elsewhere.  Since I care about Lisp's popularity more than I care
about annoying experts, I care about this.

> Well, you are right of course. But it is mostly read by experts or by people
> who are seriously interested (like me). And I cannot rule out the
> possibility either that the newsgroup is read by others as well.

`But it is...'?  How on *Earth* do you know that?  *I* don't know
that, and indeed I suspect rather the opposite.

--tim
From: Asbj�rn S�b�
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <m3ogdd2uw0.fsf@lydlab227.tele.ntnu.no>
"Janos Blazi" <······@netsurf.de> writes:

> I actually did not shout fire but I smelled some smoke and ASKED if there
> could be a fire. This means: I never told LISP was dying. I could not have,
> as I did not know almost anything about LISP when we started but for those
> few lines of EMACS LISP code I had written. And my purpose was simply to
> find out about the state of affairs at the moment. 

If your purpose was "to find out about the state of the affairs" it
might have been natural to ask "What is the state of affairs for Lisp?"
instead of "Is Lisp dying?"

Or, you could just have followed this nuewsgroup for a few weeks.

Asbj.S.

-- 
Asbj�rn S�b� (Asbjoern Saeboe), E-mail: ······@tele.ntnu.no
NTNU - Norwegian University of Science and Technology, Acoustics group
<URL: http://www.tele.ntnu.no/users/saeboe/>
Public PGP-key: <URL: http://www.tele.ntnu.no/users/saeboe/pgp/pgp.html>
From: Stig Hemmer
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <ekv3dumeq72.fsf@kallesol.pvv.ntnu.no>
"Janos Blazi" <······@netsurf.de> writes:
> And finally: Isn't it fascinating that we are discussing such things after I
> asked a technical question about byte compiling?

If you look back, you will see that it was you who turned this thread
in that direction.  Why did you do that?

Stig Hemmer,
Jack of a Few Trades.
From: Robert Monfera
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <381DA5CF.6D8218ED@fisec.com>
Gareth McCaughan wrote:

> 2. If you shout "Fire!" in a crowded building where there *isn't*
>    a fire, a lot of people can get badly hurt in the stampede.
>    Why not take some steps to establish whether there really is
>    a fire or not, before shouting about it?

While I do not support doomsayers and people with questionable
attitudes, it would be a strech to say that Janos Blazi has a chance to
hurt the Lisp community, wouldn't it?  Unfortunately c.l.l. can not
educate people _before_ they actually come to c.l.l. and say or imply
things, but frequent posters have been perpetually effective at getting
newcomers straight.

If a building is said to be on fire every once in a while for years
because smoke is perceived, maybe its longevity is an indication of
safety, and its fireplace is actively used by lots of people.

Robert
From: Pierre R. Mai
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <87puxv7fd3.fsf@orion.dent.isdn.cs.tu-berlin.de>
Marco Antoniotti <·······@parades.rm.cnr.it> writes:

> GCL translates to (human-unusable) C, which in turns is translated to
> native code, as does (I believe - Howard can correct me) Eclipse.

With the difference that Eclipse by design generates _human-usable_ C, 
quite unlike GCL, as far as I understand it.

> OTOH, Lisp high level form (i.e. S-exps) is already amenable of direct
> executuion by means of a program (i.e. the interpreter) which is
> present in every implementation.

Not every implementation has a real interpreter, some always compile and
execute (i.e. eval invokes the compiler and executes the result).  IIRC
then at least MCL and Corman Lisp are examples of this.  CMUCL does have
an interpreter, but it works on the same internal representation, that
the later stages of the compiler work on (i.e. interpreter and compiler
share the first stage(s)), IIRC.

> Does this clarify the issues?

The above might muddy things more thant it clarifies them, but should
demonstrate to the original poster that issues of compilation and
interpretation are not at all clear cut (as is often presented).  They 
involve many small and large trade-offs.  But most of this is
transparent to the user (at least in Common Lisp), so he shouldn't
overly concern himself with the internal details of implementing CL,
as long as things are fast enough for his designs.

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Rainer Joswig
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <joswig-3110992234160001@194.163.195.67>
In article <··············@parades.rm.cnr.it>, Marco Antoniotti <·······@parades.rm.cnr.it> wrote:

> IMHO, the term "compilation" is abused.  The term "translation" is probably
> better.  Currently, the parameter which separates "byte-code" from

Why is something called "byte-code"? A byte-code is just a special
encoding of instructions. A virtual machine does not need to
run byte-codes (for example the x86 emulators for the PowerPC).
The was for example a bit-slice processor running natively
the byte-code of the UCSD Pascal system (P-Code).

So, I think the term "byte-code" can be misused.

> "native-code" translators lies in the answer to the question "who
> executes what".
> 
> A "byte-compiler" translates to "something" which is executed by
> another program.

Possibly, but not necessarily. See above.

> A "native-code" translation of a program is run by the underlying
> hardware.  The number of levels between the two extremes may be great.

I could generate "native-code" on my Mac with LispWorks. Unfortunately
this "native-code" is then interpreted by Virtual PC.
From: Barry Margolin
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <cRiT3.97$PK1.3222@burlma1-snr2>
In article <·······················@194.163.195.67>,
Rainer Joswig <······@lavielle.com> wrote:
>In article <··············@parades.rm.cnr.it>, Marco Antoniotti
><·······@parades.rm.cnr.it> wrote:
>
>> IMHO, the term "compilation" is abused.  The term "translation" is probably
>> better.  Currently, the parameter which separates "byte-code" from
>
>Why is something called "byte-code"? A byte-code is just a special
>encoding of instructions. A virtual machine does not need to
>run byte-codes (for example the x86 emulators for the PowerPC).
>The was for example a bit-slice processor running natively
>the byte-code of the UCSD Pascal system (P-Code).
>
>So, I think the term "byte-code" can be misused.

Byte code usually refers to a pseudo-code that was designed specifically
for a language to be compiled into, with the intent that this be portable.
If someone decides to implement a machine that executes the byte code
natively, that's generally an after-thought.

It's like the difference between natural languages and computer languages.
No one grows up speaking a computer language, but some geeks are so fluent
in them that it could be considered their native language. :)

-- 
Barry Margolin, ······@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Marco Antoniotti
Subject: Re: Compiling vs. Byte compiling
Date: 
Message-ID: <lwogde8mvk.fsf@parades.rm.cnr.it>
······@lavielle.com (Rainer Joswig) writes:

> So, I think the term "byte-code" can be misused.

Surely so!

> I could generate "native-code" on my Mac with LispWorks. Unfortunately
> this "native-code" is then interpreted by Virtual PC.

Of course, you could also interpret it yourself :)  Even better, we
could write an x86 emulator (read x86 Virtual Machine) in Common Lisp
:)

Cheers

-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa