Since there have been some interest, a reading group has been started at http://groups.yahoo.com/group/csg111
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" (http://www.catb.org/~esr/faqs/hacker-howto.html): "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 http://www.ccs.neu.edu/course/csg111/index.html 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. -- http://mail.python.org/mailman/listinfo/python-list