O Que É um Thunk?
Um thunk é um pedaço de trabalho suspenso, geralmente uma função ou closure sem argumentos, que captura uma expressão a ser calculada depois. Forçar o thunk executa a computação e produz seu valor, e muitas implementações fazem memoization desse resultado para que seja calculado apenas uma vez. Thunks são o bloco de construção que torna a lazy evaluation possível.
Por que importa
Envolver uma computação em um thunk permite que um programa decida depois se e quando executá-la. A mesma ideia aparece na inicialização adiada e na passagem de argumentos não avaliados.
Guias relacionados
What Is Lazy Evaluation?Lazy evaluation delays computing an expression until its value is actually needed, and may skip it entirely i…
What Is Memoization?Memoization caches the result of a function for a given set of inputs so repeated calls with the same argumen…
What Is a Continuation?A continuation represents the rest of a computation at a given point, as a value that can be invoked later to…