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!news3.google.com!homer!news.glorb.com!news-spur1.glorb.com!news.glorb.com!newscon06.news.prodigy.net!prodigy.net!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: How come Ada isn't more popular? Date: Wed, 31 Jan 2007 17:49:50 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: 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> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls6.std.com 1170283795 5215 192.74.137.71 (31 Jan 2007 22:49:55 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Wed, 31 Jan 2007 22:49:55 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:PcKtc8wqcHn+HLLMQCaP905h6EY= Xref: g2news2.google.com comp.lang.ada:8791 Date: 2007-01-31T17:49:50-05:00 List-Id: Markus E Leypold writes: > Robert A Duff writes: >> (Of course, the call stack is not quite a stack anymore, if >> upward closures are allowed!) > > Depends. Just yesterday I've been imagining a system which basically > uses a stack, but when passing a "closure" upwards, copies parts of > the stack to the heap. > > Chicken scheme I think, also uses a stack (in som unusal ways), but > still has closure. Well, yeah, that's the sort of thing I mean by "not quite a stack". It's sort of like a stack, except some more-recently-pushed parts of it need to survive longer, so the implementation copies things to the heap, or allocates activation records in the heap in the first place, or . >> It seems to me "inward" and "outward" closures would be clearer >> terminology, for what are normally called "downward" and "upward", >> respectively. > > What you call outward closures are just closure. Well, if a language supports both inward and outward (or downward and upward, of you prefer), then people say it supports "full closures". It doesn't make a lot of sense to support the outward/upward ones without also supporting the inward/downward ones, too. >... There was a > discussion at comp.lang.functional which convinced me, that closure > should better be called procdures... Yes, I saw part of that discussion. Yes, "closure" really just means "procedure". We use "closure" (or "lexical closure") to emphasize the fact that a "procedure" includes some environmental information in addition to just the code. "Closure" also emphasizes that there's something interesting about that environment -- namely, that NESTED procedures may be passed around the place (whether inward only, or both inward and outward). >... (because it's rathe the natural way > how things should work) and what is presently called downwards closure > should better be called somthing different, like, say stack bound > procedures (to indicate that their lifetime depends on the stack). Perhaps. Pascal programmers just call them "procedural parameters". > But it's certainly too late now to change established if misleading > terminology. - Bob