i went through a few chapters, and i’m curious about the focus of this book - it seems to spend less time than PLAI on the details of implementing interpreters, and more on building up the foundations a la HtDP. is it meant to eventually supersede PLAI, or is it more of a companion volume for people who want to start from an earlier point?
It’s actually a hybrid. Pretty much most of the content of PLAI is in there, but mostly in the second half. The first half is like a very brief version of HtDP. But there is also content that is not in either book: e.g., the material on tables is driven by language features we added to Pyret.
The real goal is to eventually interleave these parts: “here is some programming, now here’s the corresponding PL content; here’s more programming, here’s the corresponding PL content”. I was starting to do that, but realized there are some open research questions I have about how to present semantics. So with Preston Tunnell Wilson I am now investigating those issues. Once they are sufficiently resolved, they will feed back into the restructuring of PAPL.
Really nice tutorial! Has anyone else found material covering the implementation of some other common language features (Objects, methods, etc)?
this book is really good: programming languages: application and interpretation
Thanks (-:. See also the follow-up: http://papl.cs.brown.edu/
i went through a few chapters, and i’m curious about the focus of this book - it seems to spend less time than PLAI on the details of implementing interpreters, and more on building up the foundations a la HtDP. is it meant to eventually supersede PLAI, or is it more of a companion volume for people who want to start from an earlier point?
It’s actually a hybrid. Pretty much most of the content of PLAI is in there, but mostly in the second half. The first half is like a very brief version of HtDP. But there is also content that is not in either book: e.g., the material on tables is driven by language features we added to Pyret.
The real goal is to eventually interleave these parts: “here is some programming, now here’s the corresponding PL content; here’s more programming, here’s the corresponding PL content”. I was starting to do that, but realized there are some open research questions I have about how to present semantics. So with Preston Tunnell Wilson I am now investigating those issues. Once they are sufficiently resolved, they will feed back into the restructuring of PAPL.
Hope that make sense.