Linearity 101

A Learning Lounge course about Linear Logic issues.

A taste of linear logic, an introduction to linear logic by Philip Wadler, more famous for monads (old broken link).

Linear logic, another (shorter and intuitive) introduction to linear logic by Patrick Lincoln (old broken link).

Open Directory section on linear logic.

Henry Baker: Lively Linear Lisp -- 'Look Ma, No Garbage!' and 'Use-Once' Variables and Linear Objects -- Storage Management, Reflection and Multi-Threading.

Alan Bawden: Linear Graph Reduction: Confronting the Cost of Naming.

A. Yonezawa: Linear Logic as a paradigm for concurrent programming (I don't find this paper, probably the contributor intended this: ACL - a concurrent linear logic programming paradigm (.ps.Z) -- MaD70).

Linear Typing - see the Clean language, also Mercury.

NB: SSA (single static assignment) forms used internally by some compilers (and remarkably by the .NET Intermediate Representation for programs) is directly related to linearity.
-- A N Other

No, Single-Static Assignment does not make the use of a variable linear, it just makes the variable immutable, and therefore referentially-transparent. However, the dual form of SSA, "SSU" or Static Single Use, where each assignment reaches at most one use, does correspond directly to linearity, and is useful in performing a number of analyses and optimizations related to placement of variable assignments and memory stores.
-- water(?)


This page is linked from: Jean-Yves Girard   Learning Lounge   Substructural Logics 101