From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,92c39a3be0a7f17d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-03-09 12:53:20 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!wn2feed!worldnet.att.net!207.217.77.102!newsfeed2.earthlink.net!newsfeed.earthlink.net!newsmaster1.prod.itd.earthlink.net!newsread2.prod.itd.earthlink.net.POSTED!not-for-mail Message-ID: <3C8A7625.34FAED04@acm.org> From: Jeffrey Carter X-Mailer: Mozilla 4.7 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: named control statements (was: Future with Ada) References: <3wdH7.20135$xS6.32614@www.newsranger.com> <9tqete0gqc@drn.newsguy.com> <3C0924D6.2B5A3087@adaworks.com> <250220022121494455%thehouseofcards@remove.this.part.mac.com> <3C7B0B13.3080003@worldnet.att.net> <3C7D1C89.2000803@home.com> <3C7E7CAD.7070504@mail.com> <3C7FB9D2.D9C6E055@boeing.com> <3C81DF1F.9000503@mail.com> <3C83A112.6080302@mail.com> <3C84223C.A356F466@adaworks.com> <3C853A04.34826F39@despammed.com> <3C8A2249.E7B0D7E5@flash.net> <3C8A301F.7BD6D2C@despammed.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Sat, 09 Mar 2002 20:53:20 GMT NNTP-Posting-Host: 209.86.200.86 X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.prod.itd.earthlink.net 1015707200 209.86.200.86 (Sat, 09 Mar 2002 12:53:20 PST) NNTP-Posting-Date: Sat, 09 Mar 2002 12:53:20 PST Organization: EarthLink Inc. -- http://www.EarthLink.net X-Received-Date: Sat, 09 Mar 2002 12:53:18 PST (newsmaster1.prod.itd.earthlink.net) Xref: archiver1.google.com comp.lang.ada:20989 Date: 2002-03-09T20:53:20+00:00 List-Id: Wes Groleau wrote: > > > > Would it be attractive to be able to do something like: > > > > > > Outer_Check: if (Some_Boolean) then > > > Inner_Check: if (Some_Other_Boolean) then > > > Some_Statement ; > > > end if Inner_Check ; > > > end if Outer_Check ; > > > > Hmmm, looks exactly like Fortran 95...(except ; is optional) > > That's OK. Nothing wrong with borrowing a good idea > from another language. Others have been borrowing good > ideas from Ada for almost twenty years..... Something like this was part of the Red language, IIRC. There was also something like this in the early forms of 9X, IIRC; not surprising, since 9X was done by Intermetrics, who developed Red. I guess it was one of many things considered not important enough to make it into Ada, like "return when". At the Ada Launch (1980 Dec 10), Ichbiah, Barnes, and Firth talked about the "comb structures" in Ada. These are things like procedure X is | begin | exception | end X; package X is | private | end X; and also things like if X then | elsif Y then | elsif Z then | else | end if; case X is when ... | when ... | when ... | end case; These look like combs: they have a backbone on the left and teeth projecting to the right. If we repeat names on the inner parts of the combs for subprograms, tasks, and packages (begin, exception, and private), then it seems we should like to put them on the inner parts of conditional statements (elsif, else, and when), but it's not clear where they should go. Would we want elsif Z then (X) when A => (X) or X : elsif Z then X : when A => ? Maybe it would be best to be inconsistent and not allow them at all. But I would certainly like compiler-checked names on as many parts of as many structures as possible. -- Jeff Carter "Hello! Smelly English K...niggets." Monty Python & the Holy Grail