functional programming



funktsionaalprogrameerimine Funktsionaalkeeles kirjutatud programm koosneb funktsioonimäärangute hulgast ja avaldisest, mille väärtus väljastatakse programmi töö tulemusena. Funktsionaalkeeled kujutavad endast üht deklaratiivkeelte liiki. Nad põhinevad konstantide ja tüüpidega laiendatud lambdaarvutusel. Avaldise väärtuse arvutamisel puuduvad kõrvalefektid, nii et avaldis (st mingitele kindlatele argumentidele rakendatud funktsioon) annab alati sama väärtuse (kui arvutamine jõuab lõpule). Veelgi enam, avaldist võib alati asendada tema väärtusega, ilma et lõpptulemus sellest muutuks.

Funktsionaalkeeltes kirjutatud programmid on üldiselt kompaktsed ja elegantsed, kuid kuni viimaase ajani kippusid nad jooksma aeglaselt ja vajasid suuri mäluressursse.

Funktsionaalkeeled on näiteks Clean, FP, Haskell, Hope, LML, Miranda ja SML. Paljud programmikeeled, sh Lisp, sisaldavad puhtalt funktsionaalseid alamhulki, aga ka mittefunktsionaalseid konstruktsioone