Pemrograman fungsional

Pemrograman fungsional dikategorikan menjadi pemrograman fungsional murni dan pemrograman fungsional tidak murni. Sederhananya, pemrograman fungsional murni mengacu pada pemrograman yang mana suatu fungsinya hanya dapat mengelola masukannya lalu memberikan semacam keluaran berdasarkan masukan tersebut. Artinya, fungsi tersebut tidak diizinkan untuk mengambil nilai pengubah global, melakukan pencetakan pesan ke layar, dan hal-hal lain yang termasuk pada istilah efek samping ("side effect") pada pemrograman fungsional.