Funktionell programmering är en form av programmering inom vilken program konstrueras genom komposition av matematiska funktioner, och exekvering innebär att funktionerna utvärderas.[1] Detta kan kontrasteras med procedurell och imperativ programmering, där datorn instrueras att utföra instruktioner sekventiellt. Det finns ett flera funktionella programspråk.