Announcement Study Group "Essentials of Programming Languages"

bobueland at bobueland at
Thu Jan 19 04:13:31 EST 2006

Since there have been some interest, a reading group has been started

I must warn you that the programming language used in "Essentials of
Programming Languages" is Scheme, which is variant of Lisp. Now this
course is not a course in Scheme but about powerful programming
techniques, but Scheme is used to illustrate many points. Also it can't
harm to know a bit of Lisp. As Eric Steven Raymond said in "How To
Become A Hacker" (

"LISP is worth learning for a different reason - the profound
enlightenment experience you will have when you finally get it. That
experience will make you a better programmer for the rest of your days,
even if you never actually use LISP itself a lot."

Cheers Bob

This is a part of the Welcome mesage  given at the link above

Hello fellow programmers :)

We are starting the virtual "Principles of Programming Languages"
study group. The physical course is given at neu (short for
Northeastern University) is described on
The course is starting 17:th January 2006. We, the unfortunate ones,
which do not have the possibility to attend the physical course will
study virtually at distance. The instructor at neu is Mitchell Wand,
the co-author of "Essentials of Programming Languages" (EoPL for
short), the textbook that will be used.

The book is not free so you have to buy it :(. Edition 3 is not
available but it's OK with edition 2. It seems that some material will
be put on the neu web-site, and maybe it will be
possible to follow along without the book, but I doubt it. The textbook
is a classic.

Here's what one reader (Ravi Mohan) of the book said:

"By the time you finish the book you will have built interpreters which
demonstrate recursion, call-by-value/reference/need and name semantics,
class based and prototype based OO, type inference, continuations etc .

Very "Hands on" . You are taught how programming languages work by
actually building intrepreters (in other words an Operational Semantics
is used). This is the best way to learn .

This is an incredible book and should be part of the library of every
programmer interested in learning how languages work. As far as i know
there isn't a single other book that can do better in conveying how
various features of languages really work and interact .

While this book may not be suitable for an undergraduate course of
study (withoout an excellent teacher to help students get over the
difficult bits) it is ideal for the self taught programmer."

The reading group pace will be at least one week behind of the physical
class. We do *not* want to discuss/share homework solutions until after
the homework is due. That way students in the physical class won't be
tempted to get answers from the reading group. If the professor has a
problem with students getting answers on the Internet, then he might
stop making his course public.

More information about the Python-list mailing list