Glossary

Filter:
# 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 All
A
A1
AC
ACD
ACK
ACL
ACU
A-D
Ada
ADC
ADH
ADM
ADP
AE
AES
AFJ
AFR
AI
AIG
AIN
AIS
AJ
AK
AKM
ALC
ALE
ALU
AMA
AMI
AMS
ANI
AOS
AP
APC
APD
APL
App
APU
AR
Arg
ARQ
ARS
ASU
AV
AVP
B
B
B1
B2
B3
BBS
BCC
BCD
BCI
Bd
BER
Bit
BIU
BPI
BPS
BR
BSA
BSE
Bug
Bus
BW
C
C*
C1
C2
C3
C3I
C4
CA
Can
Cat
CBA
CBC
CCB
CCI
CCO
CDR
CDS
CF
CFD
CFE
CI
CIA
CIK
CIP
CK
CKG
CKL
CM
CMP
CMS
CN
CNK
COR
CPC
Cpi
CPS
CPU
CRB
CRC
CRO
CRP
CSA
CSC
CSE
CSM
CSO
CSS
CTY
CUP
CVA
CWC
D
D&V
D-A
DAA
DAC
DAU
DC
DCA
DCP
DCS
Dd
DDD
DDN
DDS
DDT
DEC
DED
DES
DF
DIB
DID
Die
DIP
DLE
DMA
DO
Doc
DOD
DOE
DON
DOS
DP
DPB
DPL
DS
DSN
DSU
DTD
DTE
DTS
DUA
E
EAM
EAP
ECM
EDM
EEI
EFD
EFT
EIF
EMS
ENQ
EOF
EOL
EOT
EOU
EPL
Era
ES
ESS
ETB
ETL
ETX
EV
Exa
EXE
F
Fan
FAQ
FAX
FCA
FDM
FEC
FER
FIN
Fix
FOI
FQR
FQT
FRD
Fry
FSD
FTS
H
H
Hat
HCF
HD
HDM
Hex
HF
HLL
Hog
HOL
Hop
HSM
HUS
Hz
I
I&A
I/O
IAC
Ice
ICU
IDN
IDS
IFF
II
IIS
IKE
ILS
IM
IMP
IN
Inc
INF
IOC
IP
IPC
IPM
IRC
IRK
IRM
IS
ISM
ISO
ISS
IT
ITF
ITM
ITS
L
LAN
LDB
LER
LKG
LLC
LMD
LME
LMI
Log
LOS
LP
LPC
LPD
LPI
LPT
Ls
LSI
M
M
MAC
MAN
MD5
MDC
Meg
MEP
MER
Mgt
MHS
MHz
MI
MIB
MLS
MOA
Mod
MOE
MOP
MOU
MRK
MRT
MSE
MTR
MTT
Mu
MUD
MUX
Mw
N
N
NAK
NAR
NBH
NCA
NCC
NCS
NEC
Net
NID
NII
NIL
NIU
NM
NP
NRZ
NSA
NSD
NSI
NSM
NSO
NSP
NTI
NTM
NTN
NXX
O
O&M
Ob
OCR
OEM
OMB
ONA
OPI
OPM
OPT
OR
ORD
OS
OSI
OSU
OTP
OTT
P
P&D
P3P
PA
PAA
PAD
PAE
PAL
PAP
PAX
PBD
PBX
PC
PCA
PCS
PCZ
PD
Pdl
PDN
PDR
PDS
PDU
PES
PIP
PIX
PKA
PKC
PL
PLA
PM
PMD
PMO
PMP
Pod
POM
Pop
PPL
PPN
PPS
Ps
PSL
PSN
PTR
PTT
PUC
PUT
PVC
PWA
PX
R
R&D
RAC
RAM
RAT
RC4
RD
RED
REL
RF
RFC
RFE
RFP
RKV
RL
RMR
RO
ROM
RPM
RQT
RSA
Rsh
RSN
RTI
RTM
RTS
Run
RWX
S
S
S&T
SAO
SAP
SAV
Say
SCG
SCI
SCP
SDR
Set
S-F
SFA
SI
SIG
SMM
SMO
SMU
SO
SOH
SON
SOS
SOW
SPK
Spl
SPO
SPS
Spy
SRI
SRP
SRR
SSE
SSO
SSR
STD
STI
STS
STU
STX
SUB
SYN
T
T&E
TA
TAG
Tap
Tar
TCB
TCD
TCS
TCU
TD
TDM
TED
Tee
TEI
TEK
TEP
TFM
TFS
TLA
TLS
TMC
TNI
Toy
TPC
TPI
TRB
TRR
TSK
Tty
TV
TWX
U
U
UA
UBD
UIS
UK
Up
UPP
URL
UV
W
WAN
Win
WPA
Thunk
  • /thuhnk/ n. "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".