Functioneel programmeren: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Siskus (overleg | bijdragen)
kGeen bewerkingssamenvatting
Siskus (overleg | bijdragen)
→‎Een hoger concept van berekening: Destructieve re-assigments
Regel 4:
Een [[computer]] voert een berekening uit volgens een vastgelegd patroon van stappen; iedere stap in dit patroon is een kleine, simpele deelberekening. Het beschouwen van een berekening als een serie kleine stappen is een mogelijk model voor het uitvoeren van een berekening.
 
Een ander model – dat zich richt op een hoger niveau van denken, begrijpen en berekenen – is het model van de [[lambdacalculus]] van [[Alonzo Church]] en [[Michael Kleene]]. In dit model vindt een berekening plaats door het toepassen van [[functie (wiskunde)|functies]] op argumenten: "als ik functie <math>\mathfrak{f}</math> toepas op argument <math>a</math> krijg ik als antwoord <math>b</math>". Hoe de toepassing van <math>\mathfrak{f}</math> op <math>a</math> precies tot <math>b</math> leidt, doet er niet toe – het gaat erom dat <math>b</math> het antwoord is. In puur functionele programmeertalen kunnen functies dan ook geen zogenaamde neveneffecten veroorzaken. Dit zijn effecten die invloed hebben op meer dan het resultaat van de functie, zoals het veranderen van een globale variabele. Het veranderden van zo'n variabele wordt een destructieve re-assigment genoemd.
 
== Abstractie en applicatie ==