Programming Language Theory

e-books in Programming Language Theory category

The Design and Implementation of Probabilistic Programming LanguagesThe Design and Implementation of Probabilistic Programming Languages
by Noah D. Goodman, Andreas Stuhlm├╝ller - , 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.
Concrete Semantics: With Isabelle/HOLConcrete 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.

Anatomy of Programming LanguagesAnatomy 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.
Programming and Programming LanguagesProgramming 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.
Lecture Notes on Static AnalysisLecture 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.
Topics in History and Comparing Programming LanguagesTopics 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.
Introduction to Programming LanguagesIntroduction 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.
Programming Languages: Theory and PracticeProgramming 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.
Semantics of Programming LanguagesSemantics 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.
Linkers and LoadersLinkers 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.
The Theory of Languages and ComputationThe 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.
Semantics: Advances in Theories and Mathematical ModelsSemantics: 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.
Exploring Programming Language Architecture in PerlExploring 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.
Formal LanguagesFormal 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.
Formal Language Theory for Natural Language ProcessingFormal 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.
Lectures on the Curry-Howard IsomorphismLectures 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.
The Z Notation: A Reference ManualThe 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.
Lecture Notes on the Lambda CalculusLecture 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.
Compositional SemanticsCompositional 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.
Comparative Studies of Programming LanguagesComparative 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.
Datalogi V - Programming LanguagesDatalogi 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.
Let Over Lambda: 50 Years of LispLet Over Lambda: 50 Years of Lisp
by Doug Hoyte - , 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.
Proofs and TypesProofs 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.
Dictionary of Programming LanguagesDictionary 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.
Implementing Functional Languages: a tutorialImplementing 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.
Formal Syntax and Semantics of Programming LanguagesFormal 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.
Computational Category TheoryComputational 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.
Categories, Types, and StructuresCategories, 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.
Understanding Programming LanguagesUnderstanding 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.
Principles of Programming LanguagesPrinciples 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.
Partial Evaluation and Automatic Program GenerationPartial 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.
Type Systems for Programming LanguagesType 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.
Practical Foundations for Programming LanguagesPractical 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.
Semantics With Applications: A Formal IntroductionSemantics 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.
Reasoned ProgrammingReasoned 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.
Denotational Semantics: A Methodology for Language DevelopmentDenotational 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.
A Practical Theory of ProgrammingA 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.
Programming Languages: Application and InterpretationProgramming Languages: Application and Interpretation
by Shriram Krishnamurthi - , 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.
Structure and Interpretation of Computer ProgramsStructure 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.