Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news4.ner.bbnplanet.net!news.ner.bbnplanet.net!news.mathworks.com!newsfeed.internetmci.com!news.dacom.co.kr!usenet.seri.re.kr!news.cais.net!xara.net!peer-news.britain.eu.net!newsfeed.ed.ac.uk!edcogsci!jeff
From: jeff@cogsci.ed.ac.uk (Jeff Dalton)
Subject: Re: Is tail call the new goto?
Message-ID: <DMF0qz.7Jw.0.macbeth@cogsci.ed.ac.uk>
Organization: Centre for Cognitive Science, Edinburgh, UK
References: <KANDERSO.96Feb1132748@stout.bbn.com> <4f7n4r$jj2@rzsun02.rrz.uni-hamburg.de>
Date: Wed, 7 Feb 1996 17:04:11 GMT
Lines: 31

In article <4f7n4r$jj2@rzsun02.rrz.uni-hamburg.de> zimmerma@rzdspc21.informatik.uni-hamburg.de (Kai Zimmermann) writes:
>Ken Anderson (kanderso@stout.bbn.com) wrote:
>: Originally i learned that goto's were to be avoided.  So i avoided them
>: using structured programming constructs.  Now, I find myself doing a lot
>: more tail recursion than i used to, such as:
>
>effectively you can use lambda and tail recursive calls to emulate goto.

I used to do that to deal with annoying "no goto" rules in courses,
when I didn't feel like messing with while-loops and the like just
to satisfy some TA.

>I vaguely remember an article with the title "Lambda:  The Universal Goto" 
>or so from Sussman?  But all our retrieval system shows is
>
>lambda.  the ultimate imperative.  Steele, G.  / Sussman, J.  -- mar 1976. 
> (Mit: reports; AI MEMO NO 353)
> [Report  R18518  48935]

My memory agrees with your retrieval system, though there was at
least one other "Lambda the ultimate" paper: "Lambda: the ultimate
declarative".  There was also on on the expensive procedure call
myth.  It's possible that it had "ultimate goto" in the title.
The myth paper showed (among other things) the progressive
transformation of a goto-rich program via such things as 
an explicit state + a case statement and tail-recursive procedure
calls to ... a program using gotos.

-- jeff


