15-816 Linear Logic
We consider how to extend the linear lambda-calculus to the core of a linear functional programming language. In particular, we have to decide on a set of observable types and fix an evaluation strategy in the form of an operational semantics. The resulting language combines call-by-value and call-by-name in a type-directed manner. We consider some properties such as type preservation, the relationship to reduction, and the termination of all computations.