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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ce0900b60ca3f616 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-05 10:11:48 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.bredband.com!bredband!uio.no!ntnu.no!not-for-mail From: Preben Randhol Newsgroups: comp.lang.ada Subject: Re: Side-Effects in Functions [Rosen Trick] Date: Mon, 5 Nov 2001 18:11:47 +0000 (UTC) Organization: Norwegian university of science and technology Message-ID: References: <9rti6v$hcu$1@news.huji.ac.il> <1EyE7.10050$xS6.13527@www.newsranger.com> <9rue9f$j4t$1@nh.pace.co.uk> <9ruiet$kqg$1@nh.pace.co.uk> <3BE3235D.E292B890@boeing.com> <3BE35498.9F6381A2@acm.org> <9s230d$107b5a$2@ID-25716.news.dfncis.de> <5ee5b646.0111040507.5ca7ea23@posting.google.com> <9s3tl3$111hco$1@ID-25716.news.dfncis.de> <5ee5b646.0111041846.93f3e07@posting.google.com> <9s5eub02j61@drn.newsguy.com> <3be666fe.6426140@News.CIS.DFN.DE> <9s5skb09lv@drn.newsguy.com> <3be6a7a3.22977140@News.CIS.DFN.DE> <3be6b6c9.26855093@News.CIS.DFN.DE> <3BE6CF73.2020705@home.com> NNTP-Posting-Host: kiuk0156.chembio.ntnu.no X-Trace: tyfon.itea.ntnu.no 1004983907 2474 129.241.83.82 (5 Nov 2001 18:11:47 GMT) X-Complaints-To: usenet@itea.ntnu.no NNTP-Posting-Date: Mon, 5 Nov 2001 18:11:47 +0000 (UTC) User-Agent: slrn/0.9.7.2 (Linux) Xref: archiver1.google.com comp.lang.ada:15831 Date: 2001-11-05T18:11:47+00:00 List-Id: On Mon, 05 Nov 2001 17:42:14 GMT, Warren W. Gay VE3WWG wrote: > > I think one of the issues at stake here is that Ada was meant to be > > easy to read. If you allow procedures to return values, then it is > no longer a valid assumption that what looks like a function call, > does not produce side effects (ie. you cannot assume that the arguments > are not modified, without looking at the declaration). Not only that. If one allow return values in procedures one cannot know that the procedure won't return a value unless one look at the definition. It would make things a mess and I think it clearly would break down readability. > R := My_Function(Arg); -- Assumed that Arg is not modified > R := My_Proc_Function[Arg]; -- A procedure returning.. identified by [] > > > I am not suggesting the [] make a good syntax here, but you'd have > to do something like this to maintain the distinction that Functions > already enjoy within Ada. Ouch! Very bad (I think) as you then will introduce: 1. Very confusing syntax for beginners 2. Harder to "read" the difference => Lower readability 3. More easy to write wrong code. You may type [] and mean (). 4. How should one solve dispatching? I don't understand the need for neither function with in out nor procedure with return values. Preben Randhol -- Please, stop bombing civilians in Afghanistan. One cannot write off killing innocent children and other civilians as "collateral damage". A civilian is a civilian whether he or she is American or from another country in the world. http://web.amnesty.org/11september.htm