What Does Functional Programming Mean?

Tony Morris

Abstract

This presentation is intended for the February 2010 meeting of the Brisbane Functional Programming Group http://www.meetup.com/Brisbane-Functional-Programming-Group-BFG/.

The term functional programming has become common nomenclature, but its definition is also ambiguous. There are many de facto definitions, all of which fail to identify the important point to functional programming.

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License Appendix B, Licence.


Table of Contents

Introduction
To Miss The Point
Identifying the Essentials
Functional Programming is programming with functions
But this misses the point, so...
But this is off the mark too
What Does Functional Programming Mean?
Referential Transparency
Compositionality (Frege's Principle)
Purity
Measuring compositionality
Implications
Languages
Beware
Bibliography
A. Tony Morris - PGP Key
B. Licence

Introduction

In a 1977 Turing Award[1] lecture, John Backus proposed the question Can We Be Liberated From the von Neumann Machine? [CanWeBeLiberated]

Backus then went on to propose an answer to this question, which has been the inspiration for a particular approach to programming research by achieving a degree of compositionality.



[1] The highest distinction in computing science