**Categories, Types, and Structures**

by Andrea Asperti, Giuseppe Longo

**Publisher**: MIT Press 1991**ISBN/ASIN**: 0262011255**ISBN-13**: 9780262011259**Number of pages**: 300

**Description**:

The main methodological connection between programming language theory and category theory is the fact that both theories are essentially "theories of functions." A crucial point, though, is that the categorical notion of morphism generalizes the set-theoretical description of function in a very broad sense, which provides a unified understanding of various aspects of the theory of programs. This book is mostly inspired by this specific methodological connection and its applications to the theory of programming languages. More precisely, as expressed by the subtitle, it aims at a self-contained introduction to general category theory (part I) and at a categorical understanding of the mathematical structures that constituted the theoretical background of relevant areas of language design (part II). The impact on functional programming, for example, of the mathematical tools described in part II, is well known, as it ranges from the early dialects of Lisp, to Edinburgh ML, to the current work in polymorphisms and modularity. Other applications, such as CAML, which will be described, use categorical formalization for the purposes of implementation.

Download or read it online for free here:

**Download link**

(PDF)

## Similar books

**Understanding Programming Languages**

by

**Monti Ben-Ari**-

**John Wiley & Sons**

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.

(

**14593**views)

**A Practical Theory of Programming**

by

**Eric C.R. Hehner**-

**Springer**

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.

(

**12334**views)

**Anatomy of Programming Languages**

by

**William R. Cook**-

**UT Austin**

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.

(

**6161**views)

**Lecture Notes on the Lambda Calculus**

by

**Peter Selinger**-

**Dalhousie University**

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.

(

**9662**views)