Lat beräkning

Senarelagd beräkning av variabler tills dess de efterfrågas
(Omdirigerad från Selektiv evaluering)

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

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