Strikte evaluatie

Strikte evaluatie (in het Engels: strict evaluation of eager evaluation) is een evaluatiestrategie die in de meeste programmeertalen wordt gebruikt. Bij strikte evaluatie wordt een expressie uitgerekend zodra deze wordt toegekend aan een variabele. Deze strategie is efficiënt als een low-level strategie in (eenvoudige) programmeertalen aangezien er geen complexe datastructuren hoeven worden opgebouwd die onuitgerekende expressies voorstellen. De berekeningen worden niet uitgesteld, zoals bij luie evaluatie, maar de waarde van een expressie wordt direct uitgerekend en in een variabele opgeslagen.

Het grootste voordeel van strikte evaluatie is snelheid en geheugengebruik. In het volgende codefragment hoeft de waarde van x maar één keer te worden uitgerekend (in plaats van twee keer, zowel voor de regel print x als print x + 2) en het bijhouden van de waarde 83 vergt minder ruimte dan het opslaan van de gehele expressie.

x = 5 + 3 * (1 + 5 ^ 2)
print x
print x + 2

Zie ook bewerken