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,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!news.belwue.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: How come Ada isn't more popular? Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1169636785.504223.139630@j27g2000cwj.googlegroups.com> <45b8361a_5@news.bluewin.ch> <3pejpgfbki.fsf@hod.lan.m-e-leypold.de> <8lwt2zb8ga.fsf@hod.lan.m-e-leypold.de> <96swuj6qxb$.1k74rt53lh46v.dlg@40tude.net> <1pli2ou515l1z$.jfgoxqdhukav.dlg@40tude.net> <1170677765.539215.44840@v45g2000cwv.googlegroups.com> Date: Mon, 5 Feb 2007 15:06:44 +0100 Message-ID: NNTP-Posting-Date: 05 Feb 2007 15:06:44 CET NNTP-Posting-Host: 4d191913.newsspool3.arcor-online.net X-Trace: DXC=iDhf]G_hnn4^cW`WBF>WQ7enW;^6ZC`4IXm65S@:3>?3ff1Q On 5 Feb 2007 04:16:05 -0800, Harald Korneliussen wrote: >> On Sun, 04 Feb 2007 23:33:40 +0100, Markus E Leypold wrote: >>> The function of the second tree? What are you talking about? Let me >>> repeat: In pure functional languages nothing "changes". > > On 5 Feb, 10:20, "Dmitry A. Kazakov" > wrote: >> Consider A = tree, B = its maximal path. When f(A) "occur," [a node is >> removed] what happens with B? >> >> Answer: nothing happens, the program is broken. > > With respect, Dmitry, this is nonsense. There is no way of removing a > node from A at all (this is a feature of pure functional languages, Yes, it is broken per feature of FP. (:-)) [...] Note there is nothing wrong with that. No language keeps all invariants all the time. The point is that what you describe as sharing etc, is not automatically the program sematic. It is a language feature given to you to express the semantics, like the relation above. A and B above are functions: A : S -> T B : S -> T Here S is the set of execution states. T is the set of trees. "B is max path of A" is a constraint: forall s in S B(s) = Max_Path (A(s)) >> The programmer has to manually evaluate Max_Path(f(A)). "Maximal path of" is non-functional. > > "Maximal path of" is a function. In this context it is a relation between values of two objects. The constraint is that this relation should hold in all observable execution states. > (It's also quite reasonable to speak of "newer" and "older" values in > functional languages, as in mathemathics. If value B is derived from > value A, of course value A must be computed first, and A is the "old" > value, B is the "new". A is still very much around, however!) Really? What is newer e or pi? (:-)) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de