Friday’s lecture began a final block of material on types in programming languages: some of the ways they are used, and their relation to the mathematical models of lambdacalculus and type theory. This lecture presented the simplytyped lambdacalculus and some examples of programming language support for firstclass functions.
Link: Slides for Lecture 14
Homework
Read this paper on the lambdacalculus. It’s not essential to do the exercises, although you are very welcome to try them if you are interested.
 Achim Jung. A Short Introduction to the LambdaCalculus.
Choose a programming language that you would like to know more about.
 Find out how it supports anonymous functions. Are there any constraints on them? What do higherorder functions look like?
 Post about this to the mailing list, the Facebook page, or as a comment on this blog entry.
References
A Set of Postulates for the Foundation of Logic Alonzo Church Annals of Mathematics Series 2, 33:346–366. Princeton, 1932. The paper which first presented the lambdacalculus. Links: Paper at JSTOR (paywall); Paidfor access through Edinburgh University Library 

FirstClass Functions Wikipedia, downloaded 20141109. I think this gives a good overview, leading in to issues of anonymous functions, closures, and higherorder functions in programming languages. Links: Wikipedia page now; Wikipedia page as at 20141109 

Types and Programming Languages Benjamin C. Pierce MIT Press, 2002 A comprehensive introduction to type systems in computer science and programming languages. Links: Author’s page; Publisher’s page; Edinburgh University Library copies 

Advanced Topics in Types and Programming Languages Benjamin C. Pierce, Editor Builds on the previous book with chapters presenting several concrete applications of types to programming, each by experts in the field. Links: Author’s page; Publisher’s page; Edinburgh University Library copies 
Advertisements