Lecture 14: Terms and Types

apl14Friday’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 lambda-calculus and type theory. This lecture presented the simply-typed lambda-calculus and some examples of programming language support for first-class functions.

Link: Slides for Lecture 14

Homework

Read this paper on the lambda-calculus. It’s not essential to do the exercises, although you are very welcome to try them if you are interested.

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 higher-order functions look like?
  • Post about this to the mailing list, the Facebook page, or as a comment on this blog entry.

References

church-paper 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 lambda-calculus.
Links: Paper at JSTOR (paywall); Paid-for access through Edinburgh University Library
Wikipedia: First-Class Functions First-Class Functions
Wikipedia, downloaded 2014-11-09.
I think this gives a good overview, leading in to issues of anonymous functions, closures, and higher-order functions in programming languages.
Links: Wikipedia page now; Wikipedia page as at 2014-11-09
Pierce: Types and Programming Languages 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
Pierce: Advanced Topics in Types and Programming Languages 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s