Re: Request for comment: follow-up to Summer of Code



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.

.



Relevant Pages

  • Re: hints when trying to implement lisp in c
    ... SIOD an R3RS Scheme plus extensions; ... I do hope you're looking for a Lisp ... This will be the language that you will write almost ... grow your test suite along with the compiler, ...
    (comp.lang.lisp)
  • Re: off-topic: Why is lisp so weird?
    ... Common Lisp has declarations you can use to hint that the ... compiler should perform optimizations that make the compilation more ... do some very strong optimizations in the inner loops of your code. ... > and it was a lot faster than in Scheme. ...
    (comp.lang.lisp)
  • Re: Java connected Lisp
    ... versions of GNU Classpath and SBCL, ... Invent a nice and fast interface for calls from Lisp to Java and back. ... The trick could be to hack the compiler so that it recognizes accesses ... Rewrite the "compiler" ...
    (comp.lang.lisp)
  • Re: Why you do not use Lisp?
    ... Scheme etc - it means "I use Lisp" ... because of A and B, a non-trivial project in the language will almost ... I would far rather endorse a compiler or VM course involving ...
    (comp.programming)
  • Re: Reflections on a classic Lisp Paper
    ... its Lisp-1 semantics than defmacro, but would not serve CL as well. ... fexprs into those languages. ... this was the Lisp Machine's philosphy that led to offering ... do changes that the compiler cannot know, ...
    (comp.lang.lisp)