[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: What's so cool about Scheme?



Steve Dekorte wrote:
> I didn't catch who was implementing the collector - are you saying
> you implement it? If so, where in the EOPL book does it describe
> the implementation of a collector?

If you're implementing an interpreter using an existing Scheme
implementation, as I was suggesting in that specific instance, then you can
rely on that Scheme's collector.  You suggested that implementing a
scripting language in Scheme was somehow questionable; I'm pointing out that
on the contrary, using a fast Scheme compiler, you can produce a
high-performance interpreter for a language with relatively little effort,
and with much less source code than if you wrote it in C.

> Sure, I'll agree that it "has relevance beyond simply writing languages
> in Scheme". That said, I think anyone whose decided to implement their
> LL language in C is going to find this book lacking should look
> elsewhere.

I'll agree that EOPL is not a cookbook for implementing a language in C.
But anyone who's actually absorbed the lessons in this book will develop a
better LL language, even if they develop it in C.

You could level similar criticisms at the Aho dragon book: it's not much
help with garbage collection or language semantics.  There's no one book I'm
aware of that's the ultimate bible on how to develop a language.

EOPL is titled The "Essentials" of Programming Languages, and while there
are different possible lists of essentials, the issues of scoping, binding,
abstraction, environments, parameter passing, types, objects, continuations,
and control flow covered in EOPL certainly qualify.  Anyone dismissing it
because it's not presented in the language they want to implement in, should
make sure they understand all the concepts being presented.

Anton