[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bugs in default GNOME etch?



On su, 2007-01-21 at 13:38 +0100, Yves-Alexis Perez wrote:
> On dim, 2007-01-21 at 12:31 +0000, Stephen Gran wrote:
> > This could quickly get recursive.  Let me save you the trouble:
> > 
> > while true; do 
> >   echo "kool-aid drinker: it's easier to find an item in a short menu"
> > | \
> >     mail -s "Re: Bugs in default GNOME etch?"
> > debian-devel@listss.debian.org
> >   echo "everyone else: it's impossible to find an item that isn't
> > there" | \
> >     mail -s "Re: Bugs in default GNOME etch?"
> > debian-devel@listss.debian.org
> > done
> > 
> 
> This one isn't really recursive.

The Debian Oracle has detected an implicit question!

Loops are, in fact, recursion! More importantly, they are an optimized
version of tail recursion. The loop above could be written as:

debian_discussion_about_gnome_menus()
{
  echo "kool-aid drinker: it's easier to find an item in a short menu" |
  mail -s "Re: Bugs in default GNOME etch?" debian-devel@listss.debian.org
  echo "everyone else: it's impossible to find an item that isn't there" |
  mail -s "Re: Bugs in default GNOME etch?" debian-devel@listss.debian.org
  debian_discussion_about_gnome-menus
}

In fact, if you use an implementation of your preferred language that
does not optimize tail recursion stack usage, you have a better
simulation of the Debian discussions: eventually the stack will
overflow, and the discussion will end. In real life, Debian discussions
also eventually end, for example when all participants on one side of
the debate graduate from school and no longer have extra free time.
Nifty!

Because the Debian Oracle is in an especially good mood today, you get
an extra answer: the correct, and traditional solution method to the
Dilemma About GNOME Menus in Debian is to make it possible to have
either the GNOME-style menus (short, nothing unnecessary) or the
Debian-style ones (huge, everything is in there, sometimes multiple
times). Everyone can be happy!

You owe the Oracle a pair of snow shoes, a shovel, warm gloves, and a
hair-dryer.




Reply to: