Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Aidan Kehoe
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:
<20240711183456.580@kylheku.com> <87ikx97o0k.fsf@parhasard.net>
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
> wrote:
>
> >
> > Ar an dara lá déag de mí Iúil, scríobh Kaz Kylheku:
> >
> > > On 2024-07-11, Lawrence D'Oliveiro 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)