Get Affordable VMs - excellent virtual server hosting


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

thunkmore about thunk

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