Funkcionálne programovanie veľmi dobre podporuje objektovo orientovaný dizajn. Funkcionálne programovanie je založené na zápise programu v tvare výrazu. Najdôležitejšími zložkami týchto výrazov sú funkcie a ich aplikácie na argumenty. Výpočet funkcionálneho programu spočíva v postupnom zjednodušovaní výrazov až do doby keď sa už výraz zjednodušiť nedá. Funkcionálne programovanie patrí medzi deklaratívne programovacie princípy. Ukážeme ti odstránenie bočných efektov počas výpočtu, čo umožňuje programovú verifikáciu a kontrolu správnosti programov.