Categories, Types, and Structures
by Andrea Asperti, Giuseppe Longo
Publisher: MIT Press 1991
Number of pages: 300
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.
Home page url
Download or read it online for free here:
by Kenneth Slonneger, Barry L. Kurtz - Addison Wesley Longman
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.
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.
by Doug Hoyte - Lulu.com
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.
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.