Lat beräkning

Från Wikipedia
Hoppa till navigering Hoppa till sök

Lat beräkning (engelska: lazy evaluation eller call-by-need), även selektiv evaluering, är en optimeringsteknik för kompilatorer eller vid programmering. Tekniken bygger på att beräkning inte utförs förrän resultatet behövs för andra beräkningar.[1][2]

Motsatsen till lat beräkning är ivrig beräkning (eager evaluation), även kallat strikt beräkning (strict evaluation).

Lat beräkning kan ge kortare beräkningstider genom att undvika beräkningar som inte behövs, och ger en möjlighet att hantera potentiellt obegränsade datastrukturer, men kan också ge en oförutsägbarhet i exekveringstid samt skapa minnesläckage.[3]

Historik[redigera | redigera wikitext]

Lat beräkning introducerades 1971 av Christopher Wadsworth i hans arbete med lambdakalkyl.[4] Det introducerades senare (oberoende av Wadsworth) i programmeringsspråk av Peter Henderson och James H. Morris(en)[5] samt Daniel P. Friedman(en) och David S. Wise.[6][7]

Referenser[redigera | redigera wikitext]