Functional programming from first principles

Preview:

Citation preview

Functional Programming

from First Principles

<v> := a|b|c|...|z

<e> := <v>|(\<v> <e>)|(<e> <e>)

Presented by Melvin Zhangmelvin@melvinzhang.net

http://www.cosmiqo.com

http://magarena.github.io

http://www.ioccc.org/2012/tromp/tromp.c

John Tromp, https://tromp.github.io/

http://www.quotessays.com/bio/alonzo-church.html

http://www.princeton.edu/turing/alan/photos/

The Church-Turing thesis

Demo!

Functions are values.

Functions have no side effects.

May be lazy or eager.

May be untyped or typed.

Further readings

• Church’s Thesis and Functional Programming,David Turner (2006)

• http://www.ioccc.org/2012/tromp/hint.html

• http://github.com/melvinzhang/binary-lambda-calculus

http://www.meetup.com/Singapore-Clojure-Meetup/

Recommended