Welcome to **E-Books Directory**

This page lists freely downloadable books.

# Programming Language Theory

E-Books for free online viewing and/or download

## subcategories

**Compiler Construction** (25)

**Functional Programming** (12)

**Type Theory** (5)

## e-books in this category

Tweet |

**The Design and Implementation of Probabilistic Programming Languages**

by **Noah D. Goodman, Andreas Stuhlmüller** - **dippl.org** , **2016**

This book explains how to implement PPLs by lightweight embedding into a host language. We illustrate this by designing WebPPL, a small PPL embedded in Javascript. We show how to implement several algorithms for universal probabilistic inference.

(**470** views)

**Concrete Semantics: With Isabelle/HOL**

by **Tobias Nipkow, Gerwin Klein** - **Springer** , **2016**

The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a tool for formal proofs about computer science artefacts. All the mathematics is formalised in Isabelle and much of it is executable.

(**779** views)

**Anatomy of Programming Languages**

by **William R. Cook** - **UT Austin** , **2013**

This document is a series of notes about programming languages, originally written for students of the undergraduate programming languages course at UT. It assumes knowledge of programming, and in particular assume basic knowledge of Haskell.

(**1869** views)

**Programming and Programming Languages**

by **Shriram Krishnamurthi** - **Brown University** , **2014**

Many people would regard this as being two books in one. One book is an introduction to programming, teaching you basic concepts of organizing data and the programs that operate over them. The other book is an introduction to programming languages.

(**1556** views)

**Lecture Notes on Static Analysis**

by **Michael I. Schwartzbach** - **IT University of Copenhagen** , **2010**

These notes present principles and applications of static analysis of programs. We cover type analysis, lattice theory, control flow graphs, dataflow analysis, fixed-point algorithms, narrowing and widening, control flow analysis, pointer analysis.

(**1287** views)

**Topics in History and Comparing Programming Languages**

by **Dennie Van Tassel** - **Gavilan College** , **2014**

This website contains files on the history of computer programming language statements. The files compare programming language statements in several different languages tracing the statement from early languages to present languages.

(**1558** views)

**Introduction to Programming Languages**

- **Wikibooks** , **2013**

This book is an attempt to describe a bit of the programming languages zoo. We use each of the particular languages to introduce fundamental notions related to the design and the implementation of general purpose programming languages.

(**3624** views)

**Programming Languages: Theory and Practice**

by **Robert Harper** - **Carnegie Mellon University** , **2005**

What follows is a working draft of a planned book that seeks to strike a careful balance between developing the theoretical foundations of programming languages and explaining the pragmatic issues involved in their design and implementation.

(**4476** views)

**Semantics of Programming Languages**

by **Andrew M. Pitts** - **University of Cambridge** , **2002**

These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs.

(**3486** views)

**Linkers and Loaders**

by **John R. Levine** - **Morgan Kaufmann** , **1999**

The author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the performance-improving techniques supported by many modern linkers, etc.

(**5802** views)

**The Theory of Languages and Computation**

by **Jean Gallier, Andrew Hicks** - **University of Pennsylvania** , **2006**

From the table of contents: Automata; Formal Languages (A Grammar for Parsing English, Context-Free Grammars, Derivations and Context-Free Languages, Normal Forms for Context-Free Grammars, Chomsky Normal Form, ...); Computability; Current Topics.

(**3479** views)

**Semantics: Advances in Theories and Mathematical Models**

by **Muhammad Tanvir Afzal (ed.)** - **InTech** , **2012**

The book is a blend of a number of great ideas, theories, mathematical models, and practical systems in the domain of Semantics. Topics include: Background; Queries, Predicates, and Semantic Cache; Algorithms and Logic Programming; etc.

(**3423** views)

**Exploring Programming Language Architecture in Perl**

by **Bill Hails** , **2010**

This book presents an informal and friendly introduction to some of the core ideas in modern computer science, using the programming language Perl as its vehicle. The book takes the form of a series of working interpreters for the language PScheme.

(**4149** views)

**Formal Languages**

by **Keijo Ruohonen** - **Tampere University of Technology** , **2009**

In these notes the classical Chomskian formal language theory is fairly fully dealt with, omitting however much of automata constructs and computability issues. Surveys of Lindenmayer system theory and the mathematical theory of codes are given.

(**2371** views)

**Formal Language Theory for Natural Language Processing**

by **Shuly Wintner** - **ESSLLI** , **2001**

This text is a mild introduction to Formal Language Theory for students with little or no background in formal systems. The motivation is Natural Language Processing, and the presentation is geared towards NLP applications, with extensive examples.

(**4690** views)

**Lectures on the Curry-Howard Isomorphism**

by **Morten Heine B. Sorensen, Pawel Urzyczyn** - **Elsevier Science** , **2006**

This book give an introduction to parts of proof theory and related aspects of type theory relevant for the Curry-Howard isomorphism. It can serve as an introduction to any or both of typed lambda-calculus and intuitionistic logic.

(**3844** views)

**The Z Notation: A Reference Manual**

by **J. M. Spivey** - **Prentice Hall** , **1992**

The standard Z notation for specifying and designing software has evolved over the best part of a decade. This an informal but rigorous reference manual is written with the everyday needs of readers and writers of Z specifications in mind.

(**3709** views)

**Lecture Notes on the Lambda Calculus**

by **Peter Selinger** - **Dalhousie University** , **2007**

Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc.

(**4147** views)

**Compositional Semantics**

by **Gary Hardegree** - **UMass Amherst** , **2009**

Contents: Basic Categorial Syntax; Shortcomings of Standard Categorial Syntax; Expanded Categorial Syntax; Examples of Expanded Categorial Syntax; Categorial Logic; Basic Categorial Semantics; Lambda-Abstraction; Expanded Categorial Semantics; etc.

(**8844** views)

**Comparative Studies of Programming Languages**

by **Joey Paquet, Serguei A. Mokhov** - **arXiv** , **2010**

Lecture notes for the Comparative Studies of Programming Languages course. These notes include a compiled book of primarily related articles from the Wikipedia, as well as Comparative Programming Languages book and other resources.

(**3899** views)

**Datalogi V - Programming Languages**

by **A. Filinski, R. Gluck, N. D. Jones** - **Datalogisk Institut** , **2007**

This text concerns several dimensions of programming languages. We will emphasize precise definitions of the effects of various programming language features, the semantics and implementation of programming languages, and proofs concerning programs.

(**3440** views)

**Let Over Lambda: 50 Years of Lisp**

by **Doug Hoyte** - **Lulu.com** , **2008**

One of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. This book is about macros, that is programs that write programs.

(**11182** views)

**Proofs and Types**

by **J. Girard, Y. Lafont, P. Taylor** - **Cambridge University Press** , **1989**

This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed.

(**7774** views)

**Dictionary of Programming Languages**

by **Neal Ziring** , **1998**

The Dictionary of Programming Languages is an online compendium of computer coding methods assembled to provide information and aid your appreciation for computer science history. The dictionary currently has over 120 entries.

(**6808** views)

**Implementing Functional Languages: a tutorial**

by **Simon Peyton Jones, David Lester** - **Prentice Hall** , **1992**

This book gives a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. It is intended to be a source of practical material, to help make functional-language implementations come alive.

(**6436** views)

**Formal Syntax and Semantics of Programming Languages**

by **Kenneth Slonneger, Barry L. Kurtz** - **Addison Wesley Longman** , **1994**

The book presents the typically difficult subject of formal methods in an informal, easy-to-follow manner. Readers with a basic grounding in discreet mathematics will be able to understand the practical applications of these difficult concepts.

(**7456** views)

**Computational Category Theory**

by **D.E. Rydeheard, R.M. Burstall** , **2001**

The book is a bridge-building exercise between computer programming and category theory. Basic constructions of category theory are expressed as computer programs. It is a first attempt at connecting the abstract mathematics with concrete programs.

(**12009** views)

**Categories, Types, and Structures**

by **Andrea Asperti, Giuseppe Longo** - **MIT Press** , **1991**

Here is an introduction to category theory for the working computer scientist. It is a self-contained introduction to general category theory and the mathematical structures that constitute the theoretical background.

(**10183** views)

**Understanding Programming Languages**

by **Monti Ben-Ari** - **John Wiley & Sons** , **1996**

The book explains what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions.

(**7498** views)

**Principles of Programming Languages**

by **Mike Grant, Zachary Palmer, Scott Smith** , **2009**

An introduction to the study of programming languages for juniors, seniors, and graduate students. The book treats topics from a foundational perspective, it focuses on core concepts in language design, not directly on applied languages.

(**13639** views)

**Partial Evaluation and Automatic Program Generation**

by **Neil D. Jones, Carsten K. Gomard, Peter Sestoft** - **Prentice Hall** , **1993**

The book about partial evaluation, a program optimization technique also known as program specialization. It presents principles for constructing partial evaluators for a variety of programming languages, and gives references to the literature.

(**6839** views)

**Type Systems for Programming Languages**

by **Robert Harper** , **2000**

Provides an account of the role of type theory in programming language design and implementation. The stress is on the use of types as a tool for analyzing programming language features and studying their implementation.

(**5748** views)

**Practical Foundations for Programming Languages**

by **Robert Harper** , **2008**

This is a book on the foundations of programming languages. The emphasis is on the concept of type, which organizes the computational universe in the same way that the concept of set may be seen as an organizing principle for mathematics.

(**6534** views)

**Semantics With Applications: A Formal Introduction**

by **Hanne Riis Nielson, Flemming Nielson** - **John Wiley & Sons** , **1992**

The book covers the foundations of structural operational semantics and natural semantics. It shows how to describe the semantics of declarative as well as imperative language constructs and will also touch upon non-sequential constructs.

(**6363** views)

**Reasoned Programming**

by **Krysia Broda et al** - **Prentice Hall Trade** , **1994**

The text for advanced undergraduate/graduate students of computer science. It introduces functional, imperative and logic programming and explains how to do it correctly. Functional programming is presented as a programming language in its own right.

(**6210** views)

**Denotational Semantics: A Methodology for Language Development**

by **David Schmidt** - **Kansas State University** , **2009**

Denotational semantics is a methodology for giving mathematical meaning to programming languages and systems. This book was written to make denotational semantics accessible to a wider audience and to update existing texts in the area.

(**5806** views)

**A Practical Theory of Programming**

by **Eric C.R. Hehner** - **Springer** , **2006**

Understanding programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. It describes a simple and comprehensive theory.

(**7948** views)

**Programming Languages: Application and Interpretation**

by **Shriram Krishnamurthi** - **Lulu.com** , **2007**

The textbook for a programming languages course, taken primarily by advanced undergraduate and beginning graduate students. This book assumes that students have modest mathematical maturity, and are familiar with the existence of the Halting Problem.

(**6338** views)

**Structure and Interpretation of Computer Programs**

by **Harold Abelson, Gerald Jay Sussman, Julie Sussman** - **McGraw-Hill** , **1996**

The book teaches how to program by employing the tools of abstraction and modularity. The central philosophy is that programming is the task of breaking large problems into small ones. You will learn how to program and how to think about programming.

(**9795** views)

Tweet |