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.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,e01bd86884246855 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,fb1663c3ca80b502 X-Google-Attributes: gid103376,public From: "Jubilation" Subject: Re: Aspects (Re: Interesting thread in comp.lang.eiffel) Date: 2000/07/15 Message-ID: #1/1 X-Deja-AN: 646584726 References: <8ipvnj$inc$1@wanadoo.fr> <8j67p8$afd$1@nnrp1.deja.com> <395886DA.CCE008D2@deepthought.com.au> <3958B07B.18A5BB8C@acm.com> <395A0ECA.940560D1@acm.com> <8jd4bb$na7$1@toralf.uib.no> <8jfabb$1d8$1@nnrp1.deja.com> <8jhq0m$30u5$1@toralf.uib.no> <8jt4j7$19hpk$1@ID-9852.news.cis.dfn.de> <3963CDDE.3E8FB644@earthlink.net> <3963DEBF.79C40BF1@eiffel.com> <396502D2.BD8A42E7@earthlink.net> <39654639.B3760EF2@eiffel.com> <85Fa5.11419$7%3.818927@news.flash.net> <8kh89g$si$1@newsfeed.pit.comms.marconi.com> <8ki7ct$8q2$1@news.bayarea.net> <8kmjo3$s1j$1@news.bayarea.net> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 X-Trace: read2.inet.fi 963634438 194.142.6.98 (Sat, 15 Jul 2000 07:13:58 EET DST) Organization: Sonera corp Internet services X-MSMail-Priority: Normal Reply-To: "Jubilation" NNTP-Posting-Date: Sat, 15 Jul 2000 07:13:58 EET DST Newsgroups: comp.lang.ada,comp.lang.eiffel Date: 2000-07-15T00:00:00+00:00 List-Id: -- Please drop the 1 away from my email address if you reply > You can make virtually anything an aspect, but I don't see the use of doing Actually you can't, for example AspectJ cannot be used for generative programming as CLOS can. > so when inheritance of deferred ("abstract" or "interface") classes allows > an equally clean separation of specification and implementation, and when > most contracts concern design decisions which are trivial to localize. > > Frank > I can use AspectJ to define a pre+postcondition check for an interface method or an abstract method too. This check is executed in implementing classes, just like Eiffel DBC. Sorry, but I still can't see why a language needs hard-wired DBC. Being able to do something what AspectJ does as well as a MOP for static metaprogramming are my top two wishes for language extensions. Kari