Introduction to Functional Programming In this quick introduction we will go through the main principles of Pure Functional Programming: Referential Transparency, expressions vs statements Functions, partial vs complete, currying Domain Modelling Type classes Composition