On Mon, 22 Oct 2001, Wayne Conrad wrote:
> On Sun, 21 October 2001, Phil Tomson wrote:
> > x.times do
> >   LABLE:y.times do
> >      z.times do
> >        if (somecondition) break LABLE
> > But, I'm not sure it has advantages over catch/throw which is already 
> > available.
> Right.  That's almost exactly the Java syntax for labeled break, and

It's all taken from Ada, which was designed as if it were the last
Algol-like language you'd ever need. However, in Ada you already have the
raise/rescue mechanism that makes this feature overkill, and in Ruby you
have throw/catch in addition which adds to the repetitive redundancy. =)

Furthermore, breaking out of N loops is not something very common and
though the labeled-break and the N-break are all so cute, I suspect that
in the long-term it doesn't have much more viability than the power-loop.

(historical note: the power-loop was a N-depth loop without recursion. the
problem is that it isn't worthwhile to avoid recursion to this degree. So
the feature isn't seen in modern languages and people just use recursion
instead)

________________________________________________________________
Mathieu Bouchard                   http://hostname.2y.net/~matju