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,99f33f51845a7793 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-03 00:28:04 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.ems.psu.edu!news.cis.ohio-state.edu!news.maxwell.syr.edu!dispose.news.demon.net!news.demon.co.uk!demon!pogner.demon.co.uk!zap!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: 'withing' problem Date: 03 Nov 2001 08:25:05 +0000 Organization: Pushface Message-ID: References: <3be27344$0$227$ed9e5944@reading.news.pipex.net> NNTP-Posting-Host: localhost X-NNTP-Posting-Host: pogner.demon.co.uk:158.152.70.98 X-Trace: news.demon.co.uk 1004776075 nnrp-01:19197 NO-IDENT pogner.demon.co.uk:158.152.70.98 X-Complaints-To: abuse@demon.net NNTP-Posting-Date: 3 Nov 2001 08:25:05 GMT X-Newsreader: Gnus v5.7/Emacs 20.7 Xref: archiver1.google.com comp.lang.ada:15727 Date: 2001-11-03T08:25:05+00:00 List-Id: Ted Dennison writes: > In article <3be27344$0$227$ed9e5944@reading.news.pipex.net>, David Crocker > says... > >the only company that needs the problem fixed urgently? How do the > >developers of large military software systems manage? > > Mutual dependancies of this sort in my book are a classic sign of a > sloppy design. Thus we cope with this problem by cleaning up our > design when this happens. If you are coming from a UML-based modelling environment, cross-dependency is entirely natural. It would be quite wrong to contort the model to cope with Ada's unfortunate limitations in this respect. WITH TYPE (or equivalent) is a very natural way for the software architecture to support this requirement (provided your independent safety advisor will let you). Without the compile-time type checking that WITH TYPE gives you, you are likely to end up with (some) run-time checks which is a Bad Thing if it can be avoided.