Functional Programming

Programs are designed using a composition of functions, which operate on data.