A lusta kiértékelés ( angol. lazy assessment , deferred assessment is ) egy olyan számítási stratégia , amelyet egyes programozási nyelvekben használnak , eszerint a számításokat el kell halasztani, amíg eredményre nem lesz szükség. A lusta értékelés a nem szigorú értékelésre utal . A lusta értékelés továbbfejlesztett modellje – az optimista értékelés – a nem determinisztikus értékelési stratégiák kategóriájába kerül .
A lusta számítások lehetővé teszik a számítások teljes összegének csökkentését azon számítások miatt, amelyek eredményeit nem használjuk fel. A programozó egyszerűen leírhatja a függvények egymástól való függőségét, és nem gondoskodik arról, hogy ne végezzenek "túlzott számításokat".
A lusta kiértékelés természetesen a funkcionális programozási paradigmára esett , mivel a lusta kiértékelést megvalósító funkcionális programozási nyelvek a prototípuskészítéshez és a gyors szoftverfejlesztéshez, valamint az elektronikus számítástechnikai eszközök tervezéséhez kényelmes eszközökké váltak .
Néhány programozási nyelv, amelyek lusta értékelést hajtanak végre:
A lusta kiértékelés használatához nincs szükség beépített támogatásra a programozási nyelv oldalán, sok esetben a lusta kiértékelés bármilyen elérhető eszközzel megvalósítható. Például sok nyelv gyakorlatában széles körben elterjedt a „ lusta inicializálás ” tervezési minta , amely előírja az erőforrás-igényes műveletek végrehajtásának átvitelét objektumok létrehozására vagy érték megszerzésére közvetlenül a használat előtt. Számos olyan nyelvhez hoztak létre könyvtárakat, amelyek lusta kiértékelést biztosítanak, például a JavaScripthez , ezek a Streams.js , a linq.js , az Immutable.js és a node-lazy .