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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,330ec86e1824a689 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-08-28 07:32:51 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-out.visi.com!hermes.visi.com!uunet!ash.uu.net!world!news From: Robert A Duff Subject: Re: Run-Time Type Assignment Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Wed, 28 Aug 2002 14:31:53 GMT References: <5ee5b646.0208280304.614d11fc@posting.google.com> NNTP-Posting-Host: shell01.theworld.com Organization: The World Public Access UNIX, Brookline, MA X-Newsreader: Gnus v5.7/Emacs 20.7 Xref: archiver1.google.com comp.lang.ada:28496 Date: 2002-08-28T14:31:53+00:00 List-Id: Kilgallen@SpamCop.net (Larry Kilgallen) writes: > What is a downward closure ? The ability to pass a procedure as a parameter to a procedure. The "downward" means the closure is passed "down" from caller to callee. This is more restrictive than the "full closures" which are found in Lisp and many other languages of that ilk; a full closure may be *returned* from a procedure, and may be assigned into a variable. GNAT supports downward closures via the 'Unrestricted_Access attribute, but that's not Ada (unfortunately). In Pascal, downward closures are very useful for making iterators and other user-defined control structures. - Bob