Re: Request for comment: follow-up to Summer of Code
- From: matthewknox@xxxxxxxxx
- Date: 29 Jun 2005 11:48:17 -0700
2 ways, really. One is that a good lisp implementation produces code
with approximately the same effeciency characteristics as a that
produced by a good C compiler, when given properly annotated lisp
source. This can be contrasted with, say, perl, or ruby, or python,
which do not, in my experience, produce very effecient code.
The second is that there are a number of lisp operations that
correspond directly to fairly simple machine instructions. As I
understand it (cdr x) grabs whatever is stored at (the address stored
in x) - c, where c is some constant that I cannot recall (5, maybe?) on
allegro CL. It is pretty hard to get closer to the machine than that.
Scheme has the same thing-a tail call compiles down to a goto. I do
not think that scheme and lisp are as close to the machine as they
could be, but they are both excellent in this regard. I also mention
the common lisp disassembler in the paragraph below the one you comment
on.
I am not trying to optimize for rigor here, but for rhetoric. That
said, I think the things I said were defensible anyway, so I am glad
you asked.
.
- Follow-Ups:
- Re: Request for comment: follow-up to Summer of Code
- From: Matthias Buelow
- Re: Request for comment: follow-up to Summer of Code
- References:
- Request for comment: follow-up to Summer of Code
- From: matthewknox
- Re: Request for comment: follow-up to Summer of Code
- From: Matthias Buelow
- Request for comment: follow-up to Summer of Code
- Prev by Date: Re: ILC2005: McCarthy denounces Common Lisp, "Lisp", XML, and Rahul
- Next by Date: Re: ILC2005: McCarthy denounces Common Lisp, "Lisp", XML, and Rahul
- Previous by thread: Re: Request for comment: follow-up to Summer of Code
- Next by thread: Re: Request for comment: follow-up to Summer of Code
- Index(es):
Relevant Pages
|