browse words by letter
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
thunk |
3 definitions found From WordNet r 1.6 [wn]: thunk n : a dull hollow sound; "the basketball made a thunk as it hit the rim" From Jargon File (4.2.3, 23 NOV 2000) [jargon]: thunk /thuhnk/ n. 1. [obs.]"A piece of coding which provides an address", according to P. Z. Ingerman, who invented thunks in 1961 as a way of binding actual parameters to their formal definitions in Algol-60 procedure calls. If a procedure is called with an expression in the place of a formal parameter, the compiler generates a thunk which computes the expression and leaves the address of the result in some standard location. 2. Later generalized into: an expression, frozen together with its environment, for later evaluation if and when needed (similar to what in techspeak is called a `closure'). The process of unfreezing these thunks is called `forcing'. 3. A {stubroutine}, in an overlay programming environment, that loads and jumps to the correct overlay. Compare {trampoline}. 4. People and activities scheduled in a thunklike manner. "It occurred to me the other day that I am rather accurately modeled by a thunk -- I frequently need to be forced to completion." -- paraphrased from a {plan file}. Historical note: There are a couple of onomatopoeic myths circulating about the origin of this term. The most common is that it is the sound made by data hitting the stack; another holds that the sound is that of the data hitting an accumulator. Yet another suggests that it is the sound of the expression being unfrozen at argument-evaluation time. In fact according to the inventors, it was coined after they realized (in the wee hours after hours of discussion) that the type of an argument in Algol-60 could be figured out in advance with a little compile-time thought, simplifying the evaluation machinery. In other words it had `already been thought of'; thus it was christened a `thunk', which is "the past tense of `think' at two in the morning". From The Free On-line Dictionary of Computing (13 Mar 01) [foldoc]: thunk/thuhnk/ 1. "A piece of coding which provides an address", according to P. Z. Ingerman, who invented thunks in 1961 as a way of binding {actual parameters} to their formal definitions in {ALGOL 60} {procedure} calls. If a procedure is called with an expression in the place of a {formal parameter}, the compiler generates a thunk which computes the expression and leaves the address of the result in some standard location. 2. The term was later generalised to mean an expression, frozen together with its {environment} (variable values), for later evaluation if and when needed (similar to a "{closure}"). The process of unfreezing these thunks is called "forcing". 3. A {stubroutine}, in an {overlay} programming environment, that loads and jumps to the correct overlay. Compare {trampoline}. There are a couple of onomatopoeic myths circulating about the origin of this term. The most common is that it is the sound made by data hitting the {stack}; another holds that the sound is that of the data hitting an {accumulator}. Yet another suggests that it is the sound of the expression being unfrozen at argument-evaluation time. In fact according to the inventors, it was coined after they realised (in the wee hours after hours of discussion) that the type of an argument in {ALGOL 60} could be figured out in advance with a little {compile-time} thought, simplifying the evaluation machinery. In other words it had "already been thought of"; thus it was christened a "thunk", which is "the past tense of think" at two in the morning". 4. ({Microsoft Windows} programming) {universal thunk}, {generic thunk}, {flat thunk}. [{Jargon File}] (1997-10-11)
more about thunk