**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

**The Z Notation: A Reference Manual**

by

**J. M. Spivey**-

**Prentice Hall**

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.

(

**6566**views)

**Lectures on the Curry-Howard Isomorphism**

by

**Morten Heine B. Sorensen, Pawel Urzyczyn**-

**Elsevier Science**

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.

(

**6153**views)

**Programming and Programming Languages**

by

**Shriram Krishnamurthi**-

**Brown University**

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.

(

**2931**views)

**Linkers and Loaders**

by

**John R. Levine**-

**Morgan Kaufmann**

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.

(

**4456**views)