Deutsch English Français Italiano |
<p4p79jdt85d31cov2hm25cnbbra8cu4oq1@4ax.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: George Neuner <gneuner2@comcast.net> Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme Subject: Re: REPL in Lisp Date: Sun, 14 Jul 2024 11:25:19 -0400 Organization: i2pn2 (i2pn.org) Message-ID: <p4p79jdt85d31cov2hm25cnbbra8cu4oq1@4ax.com> References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me> <20240711183456.580@kylheku.com> <87ikx97o0k.fsf@parhasard.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="3266578"; mail-complaints-to="usenet@i2pn2.org"; posting-account="h5eMH71iFfocGZucc+SnA0y5I+72/ecoTCcIjMd3Uww"; User-Agent: ForteAgent/8.00.32.1272 X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 2441 Lines: 38 On Sat, 13 Jul 2024 08:24:27 +0100, Aidan Kehoe <kehoea@parhasard.net> wrote: > > Ar an dara lá déag de mí Iúil, scríobh Kaz Kylheku: > > > On 2024-07-11, Lawrence D'Oliveiro <ldo@nz.invalid> wrote: > > > On Wed, 10 Jul 2024 19:11:17 -0700, HenHanna wrote: > > > > > >> the acronym (?) REPL must be new in Lisp (and Scheme) > > >> > > >> i'm sure i never saw it (used or mentioned) 25 years ago. > > > > > > There are many new terms coined for old concepts. Like “capture” for > > > “lexical binding”, or “dependency injection” for “callback”. > > > > Lexical binding does not imply closure/capture. > >I’ve never seen “capture” used as a general term for closures or for lexical >scope in this way; are we sure it’s what was meant? "Capture" is exactly what was meant. When a closure references variables from external scopes - that is things are that are neither arguments nor locals - it is said to "capture" those variables. Lisp and Scheme create a copy of the captured variable in the closure and compile the code to reference the closure's copy rather than the original [which may no longer exist or may not be in scope when the closure code finally is executed]. > > C has lexical scoping without capture: the bindings are destroyed > > when their associated scope terminates. And C++ now has closures with control over capture. If you choose not to capture, external variables that are referenced must be in scope (at their right locations) if and when the closure code is executed.