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-Thread: a07f3367d7,dbbbb21ed7f581b X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!198.186.194.249.MISMATCH!transit3.readnews.com!news-out.readnews.com!news-xxxfer.readnews.com!panix!bloom-beacon.mit.edu!newsswitch.lcs.mit.edu!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Operation can be dispatching in only one type Date: Tue, 15 Dec 2009 18:54:16 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <025105f2-5571-400e-a66f-ef1c3dc9ef32@g27g2000yqn.googlegroups.com> <18wh86jvjvoe0.cofxcc8udm6q$.dlg@40tude.net> <53a35ed9-88ac-43dc-b2a2-8d6880802328@j19g2000yqk.googlegroups.com> <4b091fb9$0$6567$9b4e6d93@newsspool4.arcor-online.net> <1w0q3zxzw79pt$.5z0juiky7kfd$.dlg@40tude.net> <0f177771-381e-493b-92bb-28419dfbe4e6@k19g2000yqc.googlegroups.com> <1nbcfi99y0fkg.1h5ox2lj73okx$.dlg@40tude.net> <59acf311-3a4a-4eda-95a3-22272842305e@m16g2000yqc.googlegroups.com> <3pvk14f2iizi$.b3u242o1oqla.dlg@40tude.net> <15b8l0vp8871o.spmxnk82g75r.dlg@40tude.net> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls6.std.com 1260921246 26635 192.74.137.71 (15 Dec 2009 23:54:06 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Tue, 15 Dec 2009 23:54:06 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:55Xd2iB1vqqSst9rEbpDZF8LWGI= Xref: g2news1.google.com comp.lang.ada:8396 Date: 2009-12-15T18:54:16-05:00 List-Id: stefan-lucks@see-the.signature writes: > On Tue, 1 Dec 2009, Dmitry A. Kazakov wrote: > >> On Tue, 1 Dec 2009 06:45:16 +0100, stefan-lucks@see-the.signature wrote: >> >> > On Tue, 1 Dec 2009, Dmitry A. Kazakov wrote: >> > >> >> On Mon, 30 Nov 2009 15:43:21 -0500, Robert A Duff wrote: >> > >> >>> Right. I think they should be equivalent. My solution is to use >> >>> two different symbols for (initial) assignment and (subsequent) >> >>> reassignment. >> >> >> >> But they cannot be, otherwise the semantics of ":=" would depend on the >> >> things done before: >> >> >> >> X : T; >> >> begin >> >> X := F (Y); -- Initialization >> > >> > No, at this point of time, X has been initialised to *some* value, even if >> > the value itself is undefined. So this is just a proper assignment. >> >> You should say that to Bob, because this is exactly my point. Bob, here. Sorry I didn't reply to many messages in this thread -- I don't follow this newsgroup every day. Too much real work to be done. ;-) More like every few months... I'm getting mixed up about arguments regarding semantics, versus arguments regarding terminology. Both are important. > No! > > You just moved to a different topic: > > [...] >> Initialization /= construction does not fit into this picture. > > The issue was > > initialisation /= assignment (*) Right. Ada distinguishes the two. But it uses the same syntax for both, which I think is confusing. Except we use "zee". Or "zed" if you prefer. ;-) Actually the Ada terminology is that "assignment" includes both: "initialization" and "assignment_statement". That's confusing. > and the fact that in Ada both look syntactically the same. You seem to be > the first to mention "construction" at all. > > BTW, I don't think initialisation and construction are actually identical, > even though they have to be performed in close temporal proximity. If > construction fails, this is a Storage_Error. A failed Initialisation is > much more powerful -- it can raise any of your favourite exceptions. ;-) More terminology confusion: Some folks think "construct" and "allocate storage" are synonymous. Other folks think "construct" and "initialize" are synonymous. Maybe in 100 years computer science will have terms everybody can agree on. In the mean time, we have "procedure", "function", "subprogram", "subroutine", "routine", "program", "method", etc. all of which mean more-or-less the same thing. Sigh. > --------- > Footnote: > (*) I prefer to avoid the word "reassignment", which Bob would use. Sigh. Several people have voted against my (clever? too clever?) "assign" vs. "reassign" terminology. I'm still not sure... - Bob