Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!spool.mu.edu!uunet!mcsun!ukc!harrier.ukc.ac.uk!dat From: dat@ukc.ac.uk (D.A.Turner) Newsgroups: comp.lang.functional Subject: Re: thunk's Message-ID: <7418@harrier.ukc.ac.uk> Date: 24 Apr 91 15:21:48 GMT References: <1151@creatures.cs.vt.edu> <2444@m1.cs.man.ac.uk> Reply-To: dat@ukc.ac.uk (D.A.Turner) Organization: Computing Lab, University of Kent at Canterbury, UK. Lines: 24 In article <2444@m1.cs.man.ac.uk> jk@cs.man.ac.uk (John Kewley ICL) writes: >>I have a question that has been nagging me for quite some time: why do we >>call closures "thunk"s? ... >and, are they they the same as wigglies... Essentially, yes. The term "wigglies" or "wiggly values" was introduced by Christopher Strachey, circa 1970, when giving an account of the denotational semantics of Algol-60 call by name. In verbal presentations he would say something like "I call these values 'wiggly' because they can be different each time you look at them." In the later published account [1] the notation "W" is retained for the domain of wiggly values, although the reason for the choice of this letter in the paper was obvious only to those who had heard Strachey's lecture. His lectures were always very colourful! In a functional language lazy evaluation does not make values "wiggly" because there are no side effects - but in a procedural language like Algol-60, call-by-name produces this rather strange effect. [1] C. Strachey "The Varieties of Programming Language" Oxford University Compyting Laboratory Technical Monograph, PRG-10, March 1973.