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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!mx05.eternal-september.org!feeder.eternal-september.org!nuzba.szn.dk!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Ada202X: Easy to use "UML private"-like components Date: Mon, 24 Jun 2013 15:11:11 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <69246de0-4b33-4d47-b5be-a45e8c911fb0@googlegroups.com> <9qrbs8l828t3pvgves504a8fm7o1c7tcpj@4ax.com> <91qcs81k6am9l3u3n19lj0b072lc48td69@4ax.com> <1im71djlxwm94$.fbjv1si7kmvj$.dlg@40tude.net> <206y6i0kct3w$.mhlovb1s5pey.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1372104672 11026 69.95.181.76 (24 Jun 2013 20:11:12 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Mon, 24 Jun 2013 20:11:12 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:15923 Date: 2013-06-24T15:11:11-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:k32sqc8hss4r$.14d3n8qneksz7$.dlg@40tude.net... ... > Maybe they could be augmented in order to deal with more complex kinds of > parametrization, e.g. for container types (sequence of Integer indexed by > String). But again, please, without opening up the bodies. > > You don't need the body unless you "expand". You don't need the body even if you *do* "expand" (as Ada does). The Ada contract model is strict enough that universal code sharing works (and the contract model could be stronger still). I always thought it made more sense to code share first and then use inlining to eliminate the overhead later, because it's almost impossible to share code after generating it separately. (We never built the inlining part of the compiler, though, so we never quite proved that.) Randy.