From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 16 Jun 93 19:38:46 GMT From: cis.ohio-state.edu!math.ohio-state.edu!magnus.acs.ohio-state.edu!csn!news .usafa.af.mil!kirk!cwarack@ucbvax.berkeley.edu (Chris Warack List-Id: In article , adam@irvine.com (Adam Beneschan) writes: |> In article <1993Jun16.164301@lglsun.epfl.ch> nebbe@lglsun.epfl.ch |> (Robb Nebbe) writes: |> |> > Why would anyone want to declare a type in a subprogram? I have |> > occaisionally done it in toy programs (a single procedure) but have |> > never needed it in any "real" code that I have written. I was wondering |> > if it supports some particular programming paradigm or if it was just |> > included in the language for toy programs and because no one had a good |> > reason to exclude it. |> > |> > If anyone has an example where a local type declaration makes the code |> > clearer or more elegant I would be particularly interested in seeing it. |> |> I do this fairly frequently in real code. One example that I found in |> my code is: |> [...] explanation and example deleted. While Adam gives an example of why you might want this capability, I have to ask why you wouldn't want it? To prohibit it would just add additional rules that apply to some declarative parts but not to others. Why is this a benefit? It's simpler to define declarative parts the same. Given that, you could declare a type in the middle of a loop if you wanted to by using a block statement. I'll probably never do it, but it's nice to know that the declarative part of a package spec, subprogram, and block statement are the same. -- Christopher A. Warack, Capt, USAF Computer Science Department, US Air Force Academy cwarack@kirk.usafa.af.mil (719) 472-2401