Skip to content

thunk

verb

  1. to make a dull or plangent sound upon impact
L1380886 on Wikidata ↗

Wiktionary

Pronunciation: /θʌŋk/

intj

Etymology: Onomatopoeic.

  1. Representing the dull sound of the impact of a heavy object striking another and coming to an immediate standstill, with neither object being broken by the impact.

noun

Etymology: Said by the inventors to be from the irregular jocular past tense of think (see Etymology 1), being coined when they realised that the type of an argument in ALGOL 60 could be predetermined at compile time (with a little compile-time “thought”).

  1. A delayed computation.

    Not surprisingly, a thunk is more expensive to store than a single number[…].

  2. In the Scheme programming language, a function or procedure taking no arguments.
  3. A specialized subroutine that one software module uses to execute code in another module.

    If the provider of these DLLs has not updated the code to a 32-bit environment, you will have to switch to a new 32-bit library or write thunks between your 32-bit code and the 16-bit DLL.

verb

Etymology: Said by the inventors to be from the irregular jocular past tense of think (see Etymology 1), being coined when they realised that the type of an argument in ALGOL 60 could be predetermined at compile time (with a little compile-time “thought”).

  1. To delay (a computation).

    Not surprisingly, a thunk is more expensive to store than a single number, and the more complex the thunked expression, the more space it needs. For something cheap such as arithmetic, thunking an expression is more computationally expensive than calculating it immediately.

  2. To execute (code) by means of a thunk.

    This efficiency is offset by the fact that some of the calls made by Win32 apps must now be thunked down to 16 bits, something that isn't necessary in Windows NT and OS/2.