Article View: comp.lang.functional
Article #874Re: thunk's
From: Markku Sakkinen
Date: Tue, 23 Apr 1991 09:41
Date: Tue, 23 Apr 1991 09:41
45 lines
2500 bytes
2500 bytes
In article <harlan.672371659@copper> harlan@copper.ucs.indiana.edu (Pete Harlan) writes:
>>I have a question that has been nagging me for quite some time: why do we
>>call closures "thunk"s? I mean, where did that word come from? The only
>>two theories I've heard, neither with *any* supporting evidence, are that
>>it is an anagram for Knuth, and that perhaps it is a facetious past tense
>>of "think". Anyone know??
>"The word _thunk_ derives from the implementation of call-by-name in
>Algol 60. We do not know the origin of this name, but we have heard
>that it refers to the sound made by data when pushed onto the stack in
>a running Algol system."
>
> ---Abelson and Sussman, "Structure and Interpretation of Computer Programs"
>
>Well, there you are! :-)
>
>Pete Harlan
>harlan@copper.ucs.indiana.edu
I have always somehow thought that it is a Lewis Carroll -style
combination of 'think' and 'chunk', which probably goes well with
the effort of implementing call-by-name. The onomatopoietic
interpretation of Abelson and Sussman was obviously made with
tongue in cheek - although perhaps with a tiny, subconscious
resentment toward the most important programming-language
development in the history of computing.
One could define in the same manner:
'clunk' -- the rattling noise of garbage cans caused by garbage
collection in a running Lisp system
The anagram theory does not sound likely: I suppose Knuth was not
very famous yet when the term was adopted.
The chapters on Algol in the proceedings of the ACM History of
Programming Languages conference (1978?) might shed some light on this.
The proceedings appeared as a special issue of SIGPLAN Notices.
Markku Sakkinen
Department of Computer Science and Information Systems
University of Jyvaskyla (a's with umlauts)
PL 35
SF-40351 Jyvaskyla (umlauts again)
Finland
SAKKINEN@FINJYU.bitnet (alternative network address)
Technical Details
Message-ID:
<1991Apr23.094121.7524@jyu.fi>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!wrdis01!nstn.ns.ca!uupsi!sunic!news.funet.fi!jyu.fi!sakkinenReferences:
<1991Apr19.064216.23597@gucis.sct.gu.edu.au> <1151@creatures.cs.vt.edu> <harlan.672371659@copper>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!wrdis01!nstn.ns.ca!uupsi!sunic!news.funet.fi!jyu.fi!sakkinen From: sakkinen@jyu.fi (Markku Sakkinen) Newsgroups: comp.lang.functional Subject: Re: thunk's Message-ID: <1991Apr23.094121.7524@jyu.fi> Date: 23 Apr 91 09:41:21 GMT References: <1991Apr19.064216.23597@gucis.sct.gu.edu.au> <1151@creatures.cs.vt.edu> <harlan.672371659@copper> Reply-To: sakkinen@jytko.jyu.fi (Markku Sakkinen) Organization: University of Jyvaskyla, Finland Lines: 45