Outline of functional programming