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: border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Niklas Holsti Newsgroups: comp.lang.ada Subject: Re: Any Suggestion How To Accomplish A Debug Macro? Date: Sat, 03 Jan 2015 00:17:22 +0200 Organization: Tidorum Ltd Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net zHQAq6xcnMxZxzlQWG8TBAf674Qz1hKda47EZugup6YlLar5Z0 Cancel-Lock: sha1:z61B8tBJ6VuPPsFi9eEfPLvRyaw= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 In-Reply-To: Xref: number.nntp.giganews.com comp.lang.ada:191628 Date: 2015-01-03T00:17:22+02:00 List-Id: On 15-01-02 23:52 , Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:fh7u81n706kr.131btl9yj1iz8.dlg@40tude.net... >> On Fri, 02 Jan 2015 21:37:47 +0100, J-P. Rosen wrote: > ... >> However, it would be interesting to consider how tracing could be better >> supported. I mean options: [snip] >> 2. Ideas for the compilation units structure modification which would >> allow >> to have tracing code physically separated from the functional code. > > We've considered such ideas in the context of assertions, but nothing > proposed really looked like a proper part of Ada. Just a comment that this idea is approaching "aspect-oriented programming", AOP, which promised to be a radically new way to structure programs, as important as procedural abstraction. ("Aspect" here does not mean the same as in the Ada RM; see http://en.wikipedia.org/wiki/Aspect_%28computer_programming%29.) In this case, the tracing would be its own aspect of the program's functionality, specified and implemented separately from the other "real" functionality. It appears that, unfortunately, AOP was not as useful, or not as easy to design into programming languages, as was hoped, and the field seems to be not very active currently. I found AOP an interesting idea because it feels like an intermediate or hybrid between procedural/imperative programming and declarative programming. AOP thus supports the Ada philosophy of favouring static descriptions/declarations of problem domain concepts, over dynamic coding, but on the other hand the implicit and automatic invocation of aspect operations, that is typical of AOP, may not be attractive for the safety-critical domain. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ .