| Deutsch English Français Italiano |
|
<87jzhn65za.fsf@parhasard.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Aidan Kehoe <kehoea@parhasard.net> Newsgroups: comp.lang.lisp,comp.lang.scheme Subject: Re: REPL in Lisp Date: Sun, 14 Jul 2024 22:03:53 +0100 Lines: 53 Message-ID: <87jzhn65za.fsf@parhasard.net> References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me> <20240711183456.580@kylheku.com> <87ikx97o0k.fsf@parhasard.net> <p4p79jdt85d31cov2hm25cnbbra8cu4oq1@4ax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net sWatZ5Jgdoor1a6+s5YiRg2nJs73yJ6aTsBQAcxkB6fvREvDrg Cancel-Lock: sha1:EHFwoawFYYC0lGSxq6QciVRBMgU= sha1:JZuEZiNILg1o6G5xRDl/1FtuH2M= sha256:NNo4qQPKUeoiX4NDzelt9d2p77g7yw8nFSTyUVXZ9Us= User-Agent: Gnus/5.101 (Gnus v5.10.10) XEmacs/21.5-b35 (Linux-aarch64) Bytes: 3125 Ar an ceathrú lá déag de mí Iúil, scríobh George Neuner: > 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. Or to “close around” those variables. Your reference to C++ clarified things, I had and have no interest in using that language and so I had not known that “capture” is used for the Lisp “closure” in recent versions of C++ that support it. > 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. > -- ‘As I sat looking up at the Guinness ad, I could never figure out / How your man stayed up on the surfboard after fourteen pints of stout’ (C. Moore)