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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,328b479bac732fe2,start X-Google-Attributes: gid103376,public From: mjames@spectra.net (Mitchell E. James) Subject: Measurements components(need language lawyer input) Date: 1996/03/20 Message-ID: <4inncp$cr2@host-3.cyberhighway.net>#1/1 X-Deja-AN: 143136455 organization: CyberHighway Internet Services newsgroups: comp.lang.ada Date: 1996-03-20T00:00:00+00:00 List-Id: The following message from Ed Falis suggests a need for input on the legality of a construct that I am using in Measurement Types. It took several iterations of gnat and a few very confusing email messages with Team Ada to get gnat to compile generic children. The basic part of Measurement Types compiles fine under the latest version of gnat. Though I think that there is a gnat related problem with one of the next layers as noted in the readme file. I am not a language lawyer, so those that feel so inclined go ahead and comment. ------------------------------------------------- Mitchell James mjames@cyberhighway.net Fleming's discovery of penicillin was made by accident when a speck of dust happened to land on an uncovered culture plate. Touring a modern research laboratory some years later, he observed with interest the sterile, dust-free, air-conditioned environment in which the scientists worked. "What a pity you did not have a place like this to work in," said his guide. "Who can tell what you might have discovered in such surroundings!" "Not penicillin," remarked Fleming with a smile. ------------------------------------------------- Mitchell, I downloaded your components today, and tried compiling them with the beta version of our ObjectAda compiler. I immediately ran into a problem with the compilation of Unit.M1. The compiler stated that Unit was not recognized as a generic for the purposes of providing the formal package to Unit.M1. I suspect that the compiler is correct, because M1 is supposed to be logically nested within Unit, and therefore Unit isn't fully defined to be provided as a formal package parameter. Note that I'm not sure of this. Perhaps you want to throw it out to some of the language lawyers? Here's a simpler example that yields the same problem: generic type t is private; package p is x:t; end; -- This one gets the error: generic with package other is new p(<>); package p.child is y: other.t; end p.child; -- this one doesn't: with p; generic with package other is new p(<>); package q is y: other.t; end q; - Ed Ed Falis Thomson Software falis@thomsoft.com (617) 221-7341 ======================================================== Ideological disarmament: a koan for the 21st century ========================================================