This book is a much more appropriate book for a modern
programming languages course than a traditional one based on paradigms.
Topics covered includes: Parsing, Interpretation, Desugaring, Adding
Functions to the Language, From Substitution to Environments, Functions
Anywhere, Mutation: Structures and Variables, Recursion and Cycles:
Procedures and Data, Objects, Memory Management, Representation Decisions,
Desugaring as a Language Feature, Control Operations, Checking Program
Invariants Statically: Types, Checking Program Invariants Dynamically:
Contracts and Alternate Application Semantics.
This PDF covers the following topics related to Programming Languages
Theory : Prelude: The Study of Programming Languages, Functional Programming:
Theory and Practice, Macros, Objects, and Backtracking, Type systems, In Which
We Say Goodbye.
This note covers the following
topics: The Elements of Programming, Theoretical Introduction of Programming
Languages: Syntax, Semantics, Types, Abstraction on Data, Delayed Evaluation on
Data and on Control, Type Correctness, Evaluators for Functional Programming,
Logic Programming, Imperative Programming.
Objective of
this note is to teach the fundamental principles of programming, making use of
the typical aspects of the object-oriented, functional, and imperative
programming paradigms. Such basic principles are presented by referring to the
Java programming language.