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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,43f6bd9b498b66d0 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!postnews.google.com!m36g2000hse.googlegroups.com!not-for-mail From: Eric Hughes Newsgroups: comp.lang.ada Subject: Re: default formal parameters in generic declarations Date: Wed, 5 Mar 2008 13:41:44 -0800 (PST) Organization: http://groups.google.com Message-ID: References: <9b3bac4d-5ae1-4a1b-a81e-9aa9ae1843e0@e31g2000hse.googlegroups.com> <412874f9-9ddb-4aea-ac45-b366b0b1e68a@u10g2000prn.googlegroups.com> NNTP-Posting-Host: 166.70.57.218 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1204753304 24419 127.0.0.1 (5 Mar 2008 21:41:44 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 5 Mar 2008 21:41:44 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: m36g2000hse.googlegroups.com; posting-host=166.70.57.218; posting-account=5RIiTwoAAACt_Eu87gmPAJMoMTeMz-rn User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:20189 Date: 2008-03-05T13:41:44-08:00 List-Id: Eric Hughes writes: > The problem arises because, in general, an aspect _ought_ to > have access to the internal state of the package for which it is > acting as an aspect. On Mar 5, 6:11 am, Stephen Leake wrote: > Right. That's one reason I don't think aspect-based programming is all > that useful. I myself find the claims for the utility of AOP a bit overblown. It is, however, very good for observational applications: logging, monitoring, defect correction, etc. These are essentially "read only" ways of using the internal state of an object. In the general case, getting anything correct seems hard enough, much less making anything generically useful. I remain I should also say that one of the main reasons I did this was that envisioned four different use cases: a zero-overhead case for ordinary usage, a logging case for tracking down problems, an performance- tuning case at the initial phase of deployment, and the unit testing case. Getting zero-overhead meant using an aspect that could compile down into nothing when needed. [re: circular generic references] > Did you find a similar mechanism in Ada yet? Does limited with help? I'm working on it. I am certain to use "limited with", yes. I suspect that construct is necessary, but I cannot make the argument one way or the other as yet. Eric