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: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!news4.google.com!homer!news.glorb.com!news-spur1.glorb.com!news.glorb.com!newsfeed2.telusplanet.net!newsfeed.telus.net!edtnps82.POSTED!53ab2750!not-for-mail Sender: blaak@METROID Newsgroups: comp.lang.ada Subject: Re: in defense of GC References: <1169531612.200010.153120@38g2000cwa.googlegroups.com> <1mahvxskejxe1$.tx7bjdqyo2oj$.dlg@40tude.net> <2tfy9vgph3.fsf@hod.lan.m-e-leypold.de> <1g7m33bys8v4p.6p9cpsh3k031$.dlg@40tude.net> <14hm72xd3b0bq$.axktv523vay8$.dlg@40tude.net> <4zwt33xm4b.fsf@hod.lan.m-e-leypold.de> <1j7neot6h1udi$.14vp2aos6z9l8.dlg@40tude.net> <1pzx3y7d2pide.y744copm0ejb$.dlg@40tude.net> From: Ray Blaak Organization: The Transcend Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 05 Feb 2007 01:00:08 GMT NNTP-Posting-Host: 154.20.94.243 X-Trace: edtnps82 1170637208 154.20.94.243 (Sun, 04 Feb 2007 18:00:08 MST) NNTP-Posting-Date: Sun, 04 Feb 2007 18:00:08 MST Xref: g2news2.google.com comp.lang.ada:8949 Date: 2007-02-05T01:00:08+00:00 List-Id: Robert A Duff writes: > But in the latter, case, the return of Stepper is causing the lifetime > of an integer VARIABLE (i.e. mutable) to be longer than one might > suspect for a local variable of Make_A_Stepper. That seems like a > problem to me. Yes, the lifetime is longer (as specified by the programmer) but the global visibility is not affected -- N still cannot be directly manipulated in a global sense. > You (Markus) seem to be an advocate of (possibly-upward) closures. > And also an advocate of function programming. So how would you like a > rule that says the former example is OK, but the latter is illegal? > (That is, upward closures are allowed only when you're doing functional > (no side-effects) programming). I like general closures akin to the style of Lisp. It is interesting that JavaScript, for all its faults, at least has fully general closures. C# delegates are now essentially the same thing, and have full GC support. Java's are busted due to implementation laziness. So why not have general closures in Ada? They are a very powerful concept, and one still gets the control if needed by simply not using them if appropriate. But to do closures properly, one really does need GC. -- Cheers, The Rhythm is around me, The Rhythm has control. Ray Blaak The Rhythm is inside me, rAYblaaK@STRIPCAPStelus.net The Rhythm has my soul.