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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,90108ed846e3f1bf X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!feeder.news-service.com!feeder.news-service.com!194.255.237.131.MISMATCH!newsfeed101.telia.com!nf02.dk.telia.net!news.tele.dk!news.tele.dk!small.news.tele.dk!bnewspeer01.bru.ops.eu.uu.net!bnewspeer00.bru.ops.eu.uu.net!emea.uu.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Fri, 20 Feb 2009 23:19:04 +0100 From: Georg Bauhaus Reply-To: rm.tsoh+bauhaus@maps.futureapps.de User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Language lawyer question: task activation References: <1dusr7frk73m7.nlsagplge0hk.dlg@40tude.net> <09a7aab3-d105-4a40-b25b-e2824cb12f89@j1g2000yqi.googlegroups.com> <24bdd0df-9554-49de-9c5e-99572c9cdf34@g38g2000yqd.googlegroups.com> <1v0f2pkso7p50.vein84avao5t.dlg@40tude.net> <499ede41$0$32665$9b4e6d93@newsspool2.arcor-online.net> <1lhxmo6l2ypux.bei2ffp1m3e$.dlg@40tude.net> In-Reply-To: <1lhxmo6l2ypux.bei2ffp1m3e$.dlg@40tude.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <499f2c59$0$31868$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 20 Feb 2009 23:19:05 CET NNTP-Posting-Host: d014096f.newsspool3.arcor-online.net X-Trace: DXC=Yc`@fJ5_]JIC4i^e1BZ=_HMcF=Q^Z^V3H4Fo<]lROoRA^YC2XCjHcbIcI\\N04\CIFA:ho7QcPOVC;AUE\ka=jGHa2Cbe^lTSgD X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:3723 Date: 2009-02-20T23:19:05+01:00 List-Id: Dmitry A. Kazakov wrote: > It neither computes nor assigns, because construction/initialization is not > assignment. It is a different thing. The LHS object does not exist prior > construction, but does prior assignment. > >> The word "in-place" is not in Ada, only "build-in-place". >> >> Then, a procedure returns, too. Consequently, a >> function returning yields a value. > > What does it return? Note that it does return an object, that were illegal > because the result is limited. I suppose it is just a wording question: When a function returns, there is a yield. When a procedure P(Object: out T) returns, there is a yield (in Object). Assume the following language experiment: If T is limited, we might write X: constant T; begin -- not Ada T'Initialize(X, Celsius => 27.3); or some such, with the understanding that the object named X will be provided by declaration, but will not be initialized. Instead, it will have its initial value when T'Initialize has returned. Initialization is very much part of object construction in other languages, sometimes resource management is normally left to the implementation, too, like in Java, or Eiffel. Can't I even control some aspects of resource management using storage pools in constructor functions?