Thunk - pussel på nätet

Vid datorprogrammering är en thunk en subroutine som används för att injicera en ytterligare beräkning i en annan subroutine. Thunks används främst för att fördröja en beräkning tills dess resultat behövs, eller för att infoga operationer i början eller slutet av den andra subrutinen. De har en mängd andra applikationer inom kompileringskodgenerering och modulär programmering.

Begreppet har sitt ursprung som ett humoristiskt partikel av "tänk". Det vill säga ett "thunk-värde" blir tillgängligt efter att dess beräkningsrutin är genomtänkt eller utförd.

Bakgrund

De första åren av kompilatorforskningen såg breda experiment med olika utvärderingsstrategier. En viktig fråga var hur man sammanställer ett subroutine-samtal om argumenten kan vara godtyckliga matematiska uttryck snarare än konstanter. En metod, känd som "call by value", beräknar alla argument före samtalet och överför sedan de resulterande värdena till subroutinen. I den rivaliserande "call by name" -metoden får subroutinen det ovärderade argumentuttrycket och måste utvärdera det.

En enkel implementering av "call by name" kan ersätta koden för ett argumentuttryck för varje utseende på motsvarande parameter i subroutinen, men detta kan producera flera versioner av subroutine och flera kopior av expressionskoden.

de Croods Pussel onlinede Croods pussel på nätetde Croods Pussel onlinede Croods Pussel onlinede Croods Pussel onlinede Croods pussel på nätetde Croods Pussel onlinede Croods Pussel onlinede Croods pussel på nätetde Croods pussel på nätetde Croods pussel på nätet