From: Robert Dewar <robert_dewar@my-deja.com>
Subject: Re: No Go To's Forever!
Date: 2000/04/17
Date: 2000-04-17T00:00:00+00:00 [thread overview]
Message-ID: <8df3a7$j2g$1@nnrp1.deja.com> (raw)
In-Reply-To: sfke9p2pivv17@corp.supernews.com
In article <sfke9p2pivv17@corp.supernews.com>,
ka@exit109.com (Kenneth Almquist) wrote:
> Robert Dewar wrote:
> > But there really is a very fundamental point here. If you
want
> > to study it further, try generating the full denotational
> > semantics and in fact try generating the full proof
conditions.
> > That will make things clearer I think.
Incidentally, one more point, to construct the denotational
semantics of the original formulation with the goto is not
quite trivial. Obviously you don't want to describe the goto
as a general goto (the denotational semantics of general gotos
are gruesome, see the original Ada/Ed implementation for some
indication of what I mean). This goto is really a special kind
of loop construct, and indeed in a language with a bit more
general control over loops (e.g. SETL) you would not use a goto
at all for the outer loop, since it can be formulated more
clearly. Basically the goto here is a "repeat loop q" construct,
and that has a fairly simple denotational semantics. Indeed
in this particular case, you can of course get rid of the
goto by replacing it with a simple tail recursion, and the
denotational semantics should reflect such a replacement.
I sometimes wonder if people who have a hard time with gotos
in general also have a hard time with recursion. For me, the
goto that replaces a tail recursive call is a very special
case, and I regard it as simply a minor syntactic variation
on the tail recursive call (a good compiler will convert such
a tail recursion to the goto in any case). Yes, general gotos
can be a horrible mess, but the special case used here of a goto
that simply reflects a normal tail recursive structure seems
quite straightforward to me, and I see no more reason for
forbidding it than I would see for forbidding tail recursion :-)
Sent via Deja.com http://www.deja.com/
Before you buy.
next prev parent reply other threads:[~2000-04-17 0:00 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-03-21 0:00 No Go To's Forever! Bill Dale
2000-03-21 0:00 ` David Starner
2000-03-21 0:00 ` Bill Dale
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Roger Barnett
2000-03-22 0:00 ` Charles Hixson
2000-03-22 0:00 ` Robert A Duff
2000-03-22 0:00 ` Paul Graham
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Paul Graham
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Ted Dennison
2000-03-23 0:00 ` Paul Graham
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Larry Kilgallen
2000-03-22 0:00 ` Brian Rogoff
2000-03-22 0:00 ` Ted Dennison
2000-03-22 0:00 ` Michael P. Walsh
2000-03-23 0:00 ` Robert Dewar
2000-03-22 0:00 ` Michael P. Walsh
2000-03-22 0:00 ` Charles Hixson
2000-04-06 0:00 ` Wes Groleau
2000-04-07 0:00 ` Charles Hixson
2000-03-21 0:00 ` Charles Hixson
2000-03-21 0:00 ` Robert Dewar
2000-03-21 0:00 ` Michael P. Walsh
2000-03-21 0:00 ` Andrew Berg
2000-03-22 0:00 ` Wes Groleau
2000-03-22 0:00 ` No Go To's Forever! (I'm sorry I spoke...) dis90072
2000-03-23 0:00 ` tmoran
2000-03-23 0:00 ` Larry Kilgallen
2000-03-22 0:00 ` No Go To's Forever! Ken Garlington
2000-03-22 0:00 ` Marin D. Condic
2000-03-22 0:00 ` Roger Barnett
2000-03-22 0:00 ` Larry Kilgallen
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Keith Thompson
2000-03-24 0:00 ` Ted Dennison
2000-03-27 0:00 ` Keith Thompson
2000-03-28 0:00 ` Come From Forever! (was: No Go To's Forever!) Ted Dennison
2000-03-29 0:00 ` Keith Thompson
2000-03-24 0:00 ` No Go To's Forever! Marin D. Condic
2000-03-25 0:00 ` Richard D Riehle
2000-03-21 0:00 ` Gautier
2000-03-22 0:00 ` Tim Gahnström
2000-03-21 0:00 ` David Starner
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Ken Garlington
2000-03-21 0:00 ` Keith Thompson
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Robert Dewar
2000-03-23 0:00 ` Ken Garlington
2000-03-23 0:00 ` Tim Gahnstr�m
2000-03-22 0:00 ` tmoran
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` tmoran
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` tmoran
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Jeff Carter
2000-03-24 0:00 ` Robert Dewar
2000-03-23 0:00 ` tmoran
2000-03-24 0:00 ` Robert Dewar
2000-03-24 0:00 ` Robert Dewar
2000-04-16 0:00 ` Kenneth Almquist
2000-04-17 0:00 ` Robert Dewar [this message]
2000-04-18 0:00 ` Dale Stanbrough
2000-04-18 0:00 ` David Starner
2000-04-18 0:00 ` Robert Dewar
2000-04-17 0:00 ` Robert Dewar
2000-03-29 0:00 ` Martin Dowie
2000-03-29 0:00 ` Robert Dewar
2000-03-29 0:00 ` Florian Weimer
2000-03-29 0:00 ` Robert Dewar
2000-03-30 0:00 ` Robert A Duff
2000-04-01 0:00 ` Robert Dewar
2000-04-01 0:00 ` Robert A Duff
2000-04-02 0:00 ` Robert Dewar
2000-04-21 0:00 ` Florian Weimer
2000-04-21 0:00 ` Robert Dewar
2000-03-29 0:00 ` Robert Dewar
2000-03-24 0:00 ` tmoran
2000-03-22 0:00 ` Pascal Obry
2000-03-22 0:00 ` Marin D. Condic
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Jon S Anthony
2000-03-22 0:00 ` Roger Barnett
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Roger Barnett
2000-03-24 0:00 ` Robert Dewar
2000-03-23 0:00 ` Robert Dewar
2000-03-22 0:00 ` Jon S Anthony
2000-03-22 0:00 ` Robert Dewar
2000-03-22 0:00 ` Robert Dewar
2000-03-23 0:00 ` Chris Morgan
2000-03-22 0:00 ` Richard D Riehle
2000-03-23 0:00 ` Jeff Carter
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Michael P. Walsh
2000-03-23 0:00 ` Brian Rogoff
[not found] ` <01bf9436$9c054880$2c5101be@bthomas4663>
2000-03-23 0:00 ` Robert Dewar
2000-03-23 0:00 ` Ken Garlington
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox