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: border1.nntp.dca3.giganews.com!border2.nntp.dca3.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!goblin3!goblin.stu.neva.ru!news-1.dfn.de!news.dfn.de!news.uni-weimar.de!medsec1.medien.uni-weimar.de!lucks From: Stefan.Lucks@uni-weimar.de Newsgroups: comp.lang.ada Subject: Re: The future of Spark . Spark 2014 : a wreckage Date: Tue, 9 Jul 2013 09:34:59 +0200 Organization: Bauhaus-Universitaet Weimar Message-ID: References: NNTP-Posting-Host: medsec1.medien.uni-weimar.de Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1405969293-1373355301=:23845" X-Trace: tigger.scc.uni-weimar.de 1373355213 14443 141.54.178.228 (9 Jul 2013 07:33:33 GMT) X-Complaints-To: news@tigger.scc.uni-weimar.de NNTP-Posting-Date: Tue, 9 Jul 2013 07:33:33 +0000 (UTC) X-X-Sender: lucks@debian In-Reply-To: User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) X-Original-Bytes: 4047 Xref: number.nntp.dca.giganews.com comp.lang.ada:182357 Date: 2013-07-09T09:34:59+02:00 List-Id: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1405969293-1373355301=:23845 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Mon, 8 Jul 2013, Peter C. Chapin wrote: > On 07/08/2013 01:56 PM, vincent.diemunsch@gmail.com wrote: > >> procedure Swap >> with Global =3D> (In_Out =3D> (X, Y)), >> Depends =3D> (X =3D> Y, -- to be read as "X depends on Y" >> Y =3D> X); -- to be read as "Y depends on X" >>=20 >> How are we supposed to guess that "X =3D> Y" means X depends on Y, if th= e=20 >> arrow goes from X to Y ? > > Well the phrase "X depends on Y" has X on the left and Y on the right jus= t as=20 > X =3D> Y does. So it reads fairly naturally to me. I understand there is = value=20 > in being consistent with existing notations although I get the impression= =20 > there is already conflicting practice in that area. > > More significantly, though, I think you may be assigning too much semanti= c=20 > weight to the '=3D>' token in this case. In the aspect syntax it is used = more=20 > as a separator than anything else. Consider > > Pre =3D> X < 0 Fair enough! The "=3D>" is not an arrow, it is just a syntactic token to=20 separate two other tokens. Unfortunately, this token greatly (and certainly intentionally, at the=20 early days of Ada) resembles an arrow. And this is relly confusing in=20 situations where an arrow would make sense, but where the "=3D>" goes into= =20 the wrong direction. "Pre =3D>" isn't an issue, but X =3D> Y above is. Actually, this has been irritating me when using named notation for out=20 parameters, since I have learned Ada. If Y is an out parameter, it should= =20 be Do_Something (X <=3D Y), shouldn't it? This isn't such a big issue that Ada will actually need another separator= =20 token, such as "<=3D" ... we'll have to live with "=3D>". But maybe, one co= uld=20 turn this "bug" into a feature, by defining an alternative to the Depends= =20 annotation^H^H^H^H^H^H^H^H^H^H aspect, where the "=3D>" points into the=20 correct direction, e.g.: procedure Swap with Global =3D> (In_Out =3D> (X, Y)), Information_Flow =3D> (Y =3D> X, -- "X depends on Y" X =3D> Y); -- "Y depends on X" as a legal replacement for the usage of "Depends". That would be a lot=20 more intuitive! Alas, it is probably too late for SPARK 2014 ... sigh! ------ I love the taste of Cryptanalysis in the morning! ------ --Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universit=E4t Weimar, Germany-- --8323329-1405969293-1373355301=:23845--