Essentials of Programming Languages
This textbook offers a deep understanding of the essential concepts of programming languages. The approach is analytic and hands-on. The text uses interpreters, written in Scheme, to express the semantics of many essential language elements in a way that is both clear and directly executable. It also examines some important program analyses. Extensive exercises explore many design and implementation alternatives.
What people are saying - Write a review
LibraryThing ReviewUser Review - aethercowboy - LibraryThing
Essentials of Programming Languages may sound like a fairly simple, noobish book. "Hey, I need to learn about programming languages. Where do I start?" Well, sad to say, it's not that kind of ... Read full review
Other editions - View all
abstract syntax tree app-exp apply apply-cont cont apply-env apply-procval args argument binding bintree body env c-decl call-by-reference check-equal-type checker class-name closure cons continuation continuation-passing continuation-passing style control context coroutine data type datum declaration define-datatype defined language env cont eopl:error eval-expression eval-rands rands env eval-rest-cont evaluated example Exercise exp env expand-type-expression expressed value extend-env field field-ids figure formal parameter grammar identifier ids body implementation integer interface interpreter Kleene star lambda calculus lambda exp let-exp letrec letrec-body lexical list-of list-of-numbers loop method nonterminal object object-oriented object-oriented programming operands prim prim-args-cont primitive proc proc-exp proc-names idss bodies procval programming languages queue read-eval-print loop recursive regular expressions representation result-type returns rule s-list Scheme SLLGEN static subexpressions subst super super-name symbol tenv test-exp texp thread transformation true-exp false-exp type environment type inference type variable type-exp type-of-expression var-exp id variable reference vector