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 note covers programming languages and programming
paradigms, OCaml operational Semantics: an overview, Names, Bindings and
environment, A static analysis primer, Stack machines, Functions everywhere,
Static scope and dynamic scope.
This note explains the
following topics: Transition Systems, Defining a Language, A Functional
Language, Control and Data Flow, Imperative Functional Programming, Cost
Semantics and Parallelism, Data Structures and Abstraction, Lazy Evaluation,
Dynamic Typing, Subtyping and Inheritance, Storage Management.
This note covers the
following topics: Functional Languages, Imperative Languages, Object-Oriented
Languages, Constraint Languages and Logic Programming Languages.
The Dictionary of Programming Languages is a compendium of computer
coding methods assembled to provide information and aid your appreciation
for computer science history. The dictionary currently has over 120
entries.