The talk, entitled Some History of Functional Programming Languages, will revisit a series of milestones in the emergence of lazy, higher order, polymorphically typed, purely functional programming languages from their basis in Church's lambda calculus.
Starting with a brief review of the lambda K calculus (1941) we will go via LISP (1958), Algol 60, Peter Landin's ISWIM (1966), PAL (1968), SASL (1973), ML (1973), Miranda (1985) and Haskell.
On the way we will review the case for lazy evaluation and how this has driven the development of increasingly efficient implementations of normal order reduction and also discuss the search for a fully adequate static type system.
-------------------------------------------------------------------------------
Speaker: David Turner
-------------------------------------------------------------------------------
David Turner has been researching functional programming languages and their implementation since 1969. He is Emeritus Professor of Computation at the University of Kent where he has spent most of his career.
David is best known as the inventor of combinator graph reduction and for designing and implementing a series of purely functional languages - SASL (1972), KRC (1981) and Miranda (1985) - that had a strong influence on the development of the field and the emergence of Haskell.
He invented or coinvented some of the ideas which are now standard in functional programming including pattern matching with guards, list comprehensions, and the "list of successes" method for eliminating backtracking.
-------------------------------------------------------------------------------
Refreshments will be available from 5.15pm. The talk will start at 6pm.
-------------------------------------------------------------------------------
PRESENTATIONS
View the slides / Panopto recording
David Turner introduction (PDF)
Some History of Functional Programming Languages (PDF)
Miranda Functional Language website
-------------------------------------------------------------------------------