Thunk - online puzzels

Bij computerprogrammering is een thunk een subroutine die wordt gebruikt om een ​​aanvullende berekening in een andere subroutine te injecteren. Thunks worden voornamelijk gebruikt om een ​​berekening uit te stellen totdat het resultaat nodig is, of om bewerkingen in te voegen aan het begin of einde van de andere subroutine. Ze hebben een verscheidenheid aan andere toepassingen bij het genereren van compilercodes en modulaire programmering.

De term is ontstaan ​​als een humoristisch voltooid deelwoord van 'denken'. Dat wil zeggen dat een "thunk-waarde" beschikbaar komt nadat de berekeningsroutine is doordacht of uitgevoerd.

Achtergrond

In de beginjaren van het compileronderzoek werd veel geëxperimenteerd met verschillende evaluatiestrategieën. Een belangrijke vraag was hoe een subroutine-aanroep moet worden samengesteld als de argumenten willekeurige wiskundige uitdrukkingen kunnen zijn in plaats van constanten. Een benadering, bekend als "aanroepen op waarde", berekent alle argumenten vóór de aanroep en geeft vervolgens de resulterende waarden door aan de subroutine. In de rivaliserende "call by name" -benadering ontvangt de subroutine de niet-geëvalueerde argumentuitdrukking en moet deze evalueren.

Een eenvoudige implementatie van "call by name" kan de code van een argumentuitdrukking vervangen door elke verschijning van de corresponderende parameter in de subroutine, maar dit kan meerdere versies van de subroutine en meerdere kopieën van de expressiecode opleveren.

The Croods online puzzelThe Croods legpuzzel onlineThe Croods online puzzelThe Croods online puzzelThe Croods online puzzelThe Croods legpuzzel onlineThe Croods online puzzelThe Croods online puzzelThe Croods legpuzzel onlineThe Croods legpuzzel onlineThe Croods legpuzzel online