Funkcionální programování: Porovnání verzí

Smazaný obsah Přidaný obsah
m Přidal jsem odkaz na novou stránku "Standard ML".
→‎Čistě funkcionální: tučné písmo na normální
Řádek 40:
=== Čistě funkcionální ===
 
[[Čistě funkcionální]] programy nemají žádné vedlejší efekty. To činí jejich chování jednodušší na jejich pochopení, a '''taky''' na naprogramování. Například výsledek použití čisté funkce na čistý argument nezávisí na pořadí vyhodnocení. V důsledku jazyk, který nemá žádné nečisté funkce (čistě funkcionální jako například [[Haskell (programovací jazyk)|Haskell]]), může použít [[evaluace (programování)|evaluaci]] call-by-need. Nicméně ne všechny funkcionální jazyky jsou čisté. Jazyky z rodiny Lispu nejsou čisté, protože způsobují vedlejší efekty.
 
Od té doby, co čisté funkce neupravují sdílené proměnné'' (jakoby je někdy upravovaly)'', může být paralelně sdíleno více čistých funkcí, aniž by se navzájem ovlivňovaly. Čisté funkce jsou proto [[vláknově bezpečné]], a to umožňuje interpretům a kompilátorům používat evaluaci call-by-future.