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

**Partial Evaluation and Automatic Program Generation**

by

**Neil D. Jones, Carsten K. Gomard, Peter Sestoft**-

**Prentice Hall**

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.

(

**16329**views)

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

by

**Noah D. Goodman, Andreas Stuhlmüller**-

**dippl.org**

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.

(

**6794**views)

**Topics in History and Comparing Programming Languages**

by

**Dennie Van Tassel**-

**Gavilan College**

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.

(

**7663**views)

**Implementing Functional Languages: a tutorial**

by

**Simon Peyton Jones, David Lester**-

**Prentice Hall**

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.

(

**13484**views)