functional programming from first principles
TRANSCRIPT
![Page 1: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/1.jpg)
Functional Programming
from First Principles
<v> := a|b|c|...|z
<e> := <v>|(\<v> <e>)|(<e> <e>)
Presented by Melvin [email protected]
![Page 2: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/2.jpg)
http://www.cosmiqo.com
![Page 3: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/3.jpg)
http://magarena.github.io
![Page 4: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/4.jpg)
![Page 5: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/5.jpg)
![Page 6: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/6.jpg)
http://www.ioccc.org/2012/tromp/tromp.c
![Page 7: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/7.jpg)
John Tromp, https://tromp.github.io/
![Page 8: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/8.jpg)
http://www.quotessays.com/bio/alonzo-church.html
![Page 9: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/9.jpg)
http://www.princeton.edu/turing/alan/photos/
![Page 10: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/10.jpg)
The Church-Turing thesis
![Page 11: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/11.jpg)
Demo!
![Page 12: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/12.jpg)
Functions are values.
![Page 13: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/13.jpg)
Functions have no side effects.
![Page 14: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/14.jpg)
May be lazy or eager.
![Page 15: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/15.jpg)
May be untyped or typed.
![Page 16: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/16.jpg)
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
![Page 17: Functional programming from first principles](https://reader030.vdocuments.mx/reader030/viewer/2022020218/55a8dbdd1a28abbe3e8b4849/html5/thumbnails/17.jpg)
http://www.meetup.com/Singapore-Clojure-Meetup/