[HN Gopher] Essentials of Programming Languages ___________________________________________________________________ Essentials of Programming Languages Author : gjvc Score : 98 points Date : 2020-08-30 18:10 UTC (4 hours ago) (HTM) web link (eopl3.com) (TXT) w3m dump (eopl3.com) | zelphirkalt wrote: | The MIT Press page is a 404 unfortunately. | CalChris wrote: | The book is 2008. | zelphirkalt wrote: | Does this mean I cannot expect MIT Press to keep pages for a | touch older book alive or the page of the book to link to the | correct MIT Press page? | mitchbob wrote: | This works: https://mitpress.mit.edu/books/essentials- | programming-langua... | kesava wrote: | Dr.Racket has a `#lang eopl` to support the second/third | editions: https://docs.racket-lang.org/eopl/index.html The first | edition seems to build a tower of abstractions gradually, than | directly jumping into the deep end of the pool. But getting code | from first edition to run on Dr.Racket is quite a trouble. Can | someone well versed with Racket macros, please write `define- | record` to work with `#lang eopl`? I can figure out the macros | with some effort, but cant quite figure out how to extend an | existing lang. | soegaard wrote: | Just tested and `(require foo)` works fine in `#lang eopl`. | That is, if you define `define-macro` and put it in package, | say, `eopl1`, then you can use #lang eopl | (require eopl1) | ExcavateGrandMa wrote: | I wanted to learn more about EOPL 2, an HTML page appeared and | then browser refresh'd to 404... it was surprising :D | | What kind of programming language is used in the book? What the | summary? | thesizeofa wrote: | isnt gjvc the dude who frequents #freebsd on efnet? | waynesonfire wrote: | table of contents would be nice. | fernly wrote: | Not quite the same but the preface lists the chapter topics. | | http://eopl3.com/preface.html | [deleted] | systems wrote: | between this book and Programming Language Pragmatics ( Michael | Scott ), which is the better book ? (the are both very expensive, | I can only afford one, if there is another less expensive and | just as good or better option, please recommend) | SanderSantema wrote: | You might want to google for Library Genesis and see if you can | find them there to compare these and buy one of them | afterwards. | kesava wrote: | A used first edition of EOPL is way cheaper and far better in | developing the subject matter than the latter versions. There | is even a chapter on Type checking and interference: | ftp://ftp.cs.indiana.edu/pub/techreports/TR491.pdf | abecedarius wrote: | The way I'd put it is that later editions are more focused on | classroom use, while the first edition felt closer to my | interests as a hacker. The later editions do have many | improvements like a nicer development of the CPS | transformation, but they also dropped the chapter on | compiling by transforming an interpreter, and so on. | jasperry wrote: | Programming Language Pragmatics is much more a reference book, | to dip into for a not-too-theoretical discussion of a broad | range of PL topics. EOPL is all about understanding | fundamentals by implementing interpreters, with code that | builds through the book. I use both, but I would choose EOPL as | the book for a "proper" course in programming languages. | saxonww wrote: | The MIT Press site implies there might be a Kindle edition for | this, but the Amazon store page doesn't mention one. It also | offers etextbook rental, but the link goes to a page with no | options for that afaict. I see where there are epubs offered | online for prior editions, but they look sketchy. Is this | textbook legitimately available in any ebook format? | jagged-chisel wrote: | I get a 404 on the MIT Press link. What link did you use? | | Edit: Visiting MIT Press and searching finds this[1], and I | also cannot find a single digital option for this book. | | 1 - https://mitpress.mit.edu/books/essentials-programming- | langua... | jasperry wrote: | I was a TA for a programming languages course taught using this | book, and it was one of the most enlightening experiences I've | had: Implementing interpreters in Scheme to learn about | recursion, environments, closures, objects, continuations. I | think of it kind of as the dual of a course on developing a | compiler for a static languages. | pcstl wrote: | Do you know of any good courses on developing compilers for | static languages? | jasperry wrote: | I think a course like that is pretty standard in a lot of | larger CS programs. I saw that Stanford has a free online | course: https://online.stanford.edu/courses/soe- | ycscs1-compilers | | I would be partial to any course that uses Appel's "Modern | Compiler Implementation in ML", though that book is getting | pretty old now. | ipnon wrote: | Studying programming languages has the same side effects as | studying AI. You have to learn some broadly applicable | programming tricks to get your programs running. I see closures | everywhere after writing my own programming language. Someone | might use backtracking in a new domain after studying AI. | rightbyte wrote: | One revelation I got from programming a hobby language was | that many language feutures seems accidental. | throwaway_pdp09 wrote: | Could you elaborate please? | rightbyte wrote: | It's hard to explain but it was a feeling I got. It felt | like the language fell into place on it's own when you | added stuff and not in a way other code projects do. | Parsing with flex/bison "naturally" converged syntax | towards other languages because other languages are made | so they are easy to write grammar for etc. Whether an | "if(exp)" introduces a scope of is own is just down to | where you happen to put the push_scope() call, and so on. | | I wonder how much of C that was just "that is how it | happened to turn out". ___________________________________________________________________ (page generated 2020-08-30 23:00 UTC)