Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

Q: Why did the astrophysicist order three hamburgers? A: Because he was hungry.


comp / comp.lang.lisp / Re: REPL in Lisp

SubjectAuthor
* REPL in LispHenHanna
+* Re: REPL in LispLawrence D'Oliveiro
|+- Re: REPL in LispHenHanna
|+* Re: REPL in LispAntonio Marques
||`* Re: REPL in LispLawrence D'Oliveiro
|| +- Re: REPL in LispAntonio Marques
|| `* Re: REPL in LispJulieta Shem
||  +* Re: REPL in LispAntonio Marques
||  |`* Re: REPL in LispJulieta Shem
||  | `- Re: REPL in LispKaz Kylheku
||  `- Re: REPL in LispLawrence D'Oliveiro
|+* Re: REPL in LispJulieta Shem
||`- Re: REPL in LispAntonio Marques
|`* Re: REPL in LispKaz Kylheku
| `* Re: REPL in LispAidan Kehoe
|  `* Re: REPL in LispGeorge Neuner
|   `- Re: REPL in LispAidan Kehoe
+* Re: REPL in Lispyeti
|`- Re: REPL in LispHenHanna
+* Re: REPL in LispPaul Rubin
|`- Re: REPL in LispKaz Kylheku
`- Re: REPL in LispGeorge Neuner

1
Subject: REPL in Lisp
From: HenHanna
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 02:11 UTC
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: HenHanna@devnull.tb (HenHanna)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: REPL in Lisp
Date: Wed, 10 Jul 2024 19:11:17 -0700
Organization: A noiseless patient Spider
Lines: 5
Message-ID: <v6nf07$296j5$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 11 Jul 2024 04:11:19 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5997fecf5cbee109c90816f0e589a653";
logging-data="2398821"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18buaWIbSWJ1BXxXorJEQhSpQXwvs1Rzhw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:47D8mQsASd79MHqK5oe3/n4RIXs=
Content-Language: en-US
View all headers

the acronym (?) REPL must be new in Lisp (and Scheme)

i'm sure i never saw it (used or mentioned) 25 years ago.

Subject: Re: REPL in Lisp
From: Lawrence D'Oliv
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 02:26 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 02:26:04 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 8
Message-ID: <v6nfrr$29ajf$2@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jul 2024 04:26:04 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ead23d2d8cf5f779654345cfcdaaae64";
logging-data="2402927"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+RAp3faf87GTJ+A696kx3D"
User-Agent: Pan/0.158 (Avdiivka; )
Cancel-Lock: sha1:kZOo/mt7hBWpS+uv61V376+5MNM=
View all headers

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”.

Subject: Re: REPL in Lisp
From: yeti
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: Democratic Order of Pirates International (DOPI)
Date: Thu, 11 Jul 2024 05:26 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: yeti@tilde.institute (yeti)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 06:08:03 +0042
Organization: Democratic Order of Pirates International (DOPI)
Lines: 25
Message-ID: <87msmofqj8.fsf@tilde.institute>
References: <v6nf07$296j5$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Thu, 11 Jul 2024 07:26:21 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e51c8ddb7597ced85a5c7771758f97ec";
logging-data="2448951"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/mvknSQJ8Oo3Rfb2sNDZmS"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:6IoFAxSp1Jyh7/xoamK4wXdy+P4=
sha1:3swUfi/QuyYM+2oxluBF0iBhaGU=
X-Face: "-Nh[_Q`f/iywEEk*gL\V>5N1AB*"sDJ8;EUV=C-0Y@WB9ePs{Cw>dh=u?}LO}?T(5_L2HX
`mj:w>@KY3N6`v6Y!/<)"&OTwwj<}i=2g^/|Mp#95.z4HsbUizxbZ*4X085{X||BvThEN9wD=Q1o7"
5d3u_b|SUTt
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAAiklEQVQY02NgoCUQOASmOJwPAElGjuQfIIrH8A9IsK3wJ0jFMcPHDUAVxywPNzCw8Dy3bD7AwMzy+Q/7AQbGvuq57QsYGI+brz+fwMDw+9re/x8YGLPcFP8/YGBccaTg4QcG5o4WBeYGBnaBngTDBJBFDvUHQBY5/G8AWXHgH9j65h9gitmBgfYAAJOqKugnjqEOAAAAAElFTkSuQmCC
View all headers

HenHanna <HenHanna@devnull.tb> writes:

> the acronym (?) REPL must be new in Lisp (and Scheme)
>
> i'm sure i never saw it (used or mentioned) 25 years ago.

I remember REPL back until the early 80s. Wikipedia does not contradict
and adds a bit more:

<https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop>

History

In 1964, the expression READ-EVAL-PRINT cycle is used by L. Peter
Deutsch and Edmund Berkeley for an implementation of Lisp on the
PDP-1.

Since at least the 1980s, the abbreviations REP Loop and REPL are
attested in the context of Scheme.

--
( $#"&?"#=-#@!!! )
/

_ _ _ _ _ _ _ _ _ _ _ _ |\ _ _ _ _ _ _ _ _ _ \o/ _ _ _ _ _ _ _ _ _ _ _ _

Subject: Re: REPL in Lisp
From: HenHanna
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 05:37 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: HenHanna@devnull.tb (HenHanna)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Wed, 10 Jul 2024 22:37:41 -0700
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <v6nr37$2av6q$1@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me> <87msmofqj8.fsf@tilde.institute>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 11 Jul 2024 07:37:44 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5997fecf5cbee109c90816f0e589a653";
logging-data="2456794"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19t0S+M4a6paohl5BeQJBupaj6A19Hwznw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ZF7j6PsBbWDqtVT6w2gxuZOrN+Q=
Content-Language: en-US
In-Reply-To: <87msmofqj8.fsf@tilde.institute>
View all headers

On 7/10/2024 10:26 PM, yeti wrote:
> HenHanna <HenHanna@devnull.tb> writes:
>
>> the acronym (?) REPL must be new in Lisp (and Scheme)
>>
>> i'm sure i never saw it (used or mentioned) 25 years ago.
>

> I remember REPL back until the early 80s. Wikipedia does not contradict
> and adds a bit more:
>
> <https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop>
>
> History
>
> In 1964, the expression READ-EVAL-PRINT cycle is used by L. Peter
> Deutsch and Edmund Berkeley for an implementation of Lisp on the
> PDP-1.
>
> Since at least the 1980s, the abbreviations REP Loop and REPL are
> attested in the context of Scheme.
>

afaicr in the 1980's everyone spelled it out as

Read-Eval-Print Loop or Cycle.

(i think) Guy Steele's AI Memos sometimes used [R-E-P Loop]
but never REPL

Subject: Re: REPL in Lisp
From: HenHanna
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 05:41 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: HenHanna@devnull.tb (HenHanna)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Wed, 10 Jul 2024 22:41:21 -0700
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <v6nra3$2av6q$2@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jul 2024 07:41:23 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5997fecf5cbee109c90816f0e589a653";
logging-data="2456794"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18hoQPhwl/u1DFQ8vMMew7F1TCzmAeomdI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:VXOw66bL8V9nenvR6JYOte1jygY=
In-Reply-To: <v6nfrr$29ajf$2@dont-email.me>
Content-Language: en-US
View all headers

On 7/10/2024 7:26 PM, 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”.

thanks. List "comprehension" was new to me.

maybe there're pronunciation changes....

in the old days, CONS was pronounced [kahnzzz]

i always preferred [cohns]

--- after all, it's short for "Construct"

Subject: Re: REPL in Lisp
From: Paul Rubin
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 08:59 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: no.email@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 01:59:37 -0700
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <87msmonw1y.fsf@nightsong.com>
References: <v6nf07$296j5$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Thu, 11 Jul 2024 10:59:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="682b26ab0de75d5eae664fc8da881298";
logging-data="2514548"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19F9cEPAjWRvCVfH3MZ/6iM"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:u7Rp/MjtBsydIh4dnYJOF76Uxao=
sha1:thSSq4/3J0vvysCGfi/kBUtV1Qc=
View all headers

HenHanna <HenHanna@devnull.tb> writes:

> the acronym (?) REPL must be new in Lisp (and Scheme)
> i'm sure i never saw it (used or mentioned) 25 years ago.

https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop#History

"In 1964, the expression READ-EVAL-PRINT cycle is used by L. Peter
Deutsch and Edmund Berkeley for an implementation of Lisp on the
PDP-1.[3] Since at least the 1980s, the abbreviations REP Loop and REPL
are attested in the context of Scheme.[4][5] "

Subject: Re: REPL in Lisp
From: Kaz Kylheku
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 10:14 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 10:14:52 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <20240711031434.800@kylheku.com>
References: <v6nf07$296j5$1@dont-email.me> <87msmonw1y.fsf@nightsong.com>
Injection-Date: Thu, 11 Jul 2024 12:14:53 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="1c1b3c01db2e58828e57902abb355a3e";
logging-data="2545361"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/55tIi58fFeu2p+63fUq1CWY4091ibXVM="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:4voNhHhYyrHJ5X9wDR804M8d1zY=
View all headers

On 2024-07-11, Paul Rubin <no.email@nospam.invalid> wrote:
> HenHanna <HenHanna@devnull.tb> writes:
>
>> the acronym (?) REPL must be new in Lisp (and Scheme)
>> i'm sure i never saw it (used or mentioned) 25 years ago.
>
> https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop#History
>
> "In 1964, the expression READ-EVAL-PRINT cycle is used by L. Peter
> Deutsch and Edmund Berkeley for an implementation of Lisp on the
> PDP-1.[3] Since at least the 1980s, the abbreviations REP Loop and REPL
> are attested in the context of Scheme.[4][5] "

What's your one REP(L) max, dude?

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: REPL in Lisp
From: Antonio Marques
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 12:57 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: no_email@invalid.invalid (Antonio Marques)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 12:57:12 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <v6okr8$2fhdg$1@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me>
<v6nfrr$29ajf$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jul 2024 14:57:12 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e73bea6b9d45aadec3eabcf5acdcfc6d";
logging-data="2606512"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19mxOsx9j6P5SjwgdNZsfDLIB8x4RtmA890USVaNJnlgQ=="
User-Agent: NewsTap/5.5 (iPhone/iPod Touch)
Cancel-Lock: sha1:QYls/dLKQf4voEz9Pc1hJCJn5qU=
sha1:di/2l5r16G4Jh+uiKPYL9h4dYLE=
View all headers

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”.
>

I can more or less see how callbacks can be used as a kind of dependency
injection, but those are separate concepts.

Subject: Re: REPL in Lisp
From: Julieta Shem
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 16:13 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 13:13:02 -0300
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <87o7736h69.fsf@yaxenu.org>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jul 2024 18:13:04 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="b36d1fd1eb722631d3329f6e739cbde8";
logging-data="2670802"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19cgu/Kc7z4wtE0WgH2xY7GIv6ZMltueV4="
Cancel-Lock: sha1:iM+XuihSRZNdvO1qUbQGLmN7pmQ=
sha1:XueaGXQJ3Zmr/VtTbn1PDPvp3ng=
View all headers

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> 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”.

Can you elaborate on "dependency injection" for "callback"? It would be
nice if a small example be presented in a popular language such as Lisp
or Python.

Looking the term up, it seems sufficiently different from "callback".

(This is a genuine request for information. I never understood why we
need the term "dependency injection".

Subject: Re: REPL in Lisp
From: Antonio Marques
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 16:21 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: no_email@invalid.invalid (Antonio Marques)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 16:21:21 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <v6p0q1$2hlvu$1@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me>
<v6nfrr$29ajf$2@dont-email.me>
<87o7736h69.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jul 2024 18:21:22 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e73bea6b9d45aadec3eabcf5acdcfc6d";
logging-data="2676734"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Nc+EUdM9biXpzpMEJOmVZAROMTOaZhGZrUPRjRmkWfQ=="
User-Agent: NewsTap/5.5 (iPhone/iPod Touch)
Cancel-Lock: sha1:c7NJaByohzJpa2fcjt8rE624kfc=
sha1:9x7Y8fnT23ndTfHfJsBQ2NR0vhc=
View all headers

Julieta Shem <jshem@yaxenu.org> wrote:
>
> I never understood why we
> need the term "dependency injection".
>

Would you just spell out 'determine/decide/provide concrete implementations
of dependencies dynamically' every time?

Subject: Re: REPL in Lisp
From: Lawrence D'Oliv
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Thu, 11 Jul 2024 21:41 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Thu, 11 Jul 2024 21:41:45 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <v6pjio$2kqvg$2@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 11 Jul 2024 23:41:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ead23d2d8cf5f779654345cfcdaaae64";
logging-data="2780144"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++dGllajtJ+gmXMIiVj1r6"
User-Agent: Pan/0.158 (Avdiivka; )
Cancel-Lock: sha1:vdbvuFsDF+U8dE1kvljJvR8CMY8=
View all headers

On Thu, 11 Jul 2024 12:57:12 -0000 (UTC), Antonio Marques wrote:

> 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”.
>>
> I can more or less see how callbacks can be used as a kind of dependency
> injection, but those are separate concepts.

“Dependency injection” is just packaging up a bunch of callbacks as
methods in a class.

Subject: Re: REPL in Lisp
From: Kaz Kylheku
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Fri, 12 Jul 2024 01:39 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Fri, 12 Jul 2024 01:39:26 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <20240711183456.580@kylheku.com>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 12 Jul 2024 03:39:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ce9d7750f6a622c8d90995dce7832ee4";
logging-data="2857254"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3Puz9SQctmiaiQRhQffS0hcERr+avoxg="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:MnjG1KQvNJemiUppIIKrwlyDPgY=
View all headers

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.

C has lexical scoping without capture: the bindings are destroyed
when their associated scope terminates.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: REPL in Lisp
From: George Neuner
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: i2pn2 (i2pn.org)
Date: Fri, 12 Jul 2024 11:02 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: gneuner2@comcast.net (George Neuner)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Fri, 12 Jul 2024 07:02:17 -0400
Organization: i2pn2 (i2pn.org)
Message-ID: <6u229jdfaouh4v868l9c478r9d1fmekm6l@4ax.com>
References: <v6nf07$296j5$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: i2pn2.org;
logging-data="3018532"; 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
View all headers

On Wed, 10 Jul 2024 19:11:17 -0700, HenHanna <HenHanna@devnull.tb>
wrote:

>
>the acronym (?) REPL must be new in Lisp (and Scheme)
>
>
>i'm sure i never saw it (used or mentioned) 25 years ago.

I don't know when exactly it was coined, but "REPL" meaning
"read-evaluate-print loop" goes back at least 30 years to the late
80's.

I first heard it in connection to Lisp, but it was clear even then
that Scheme was using the same lexicon.

Subject: Re: REPL in Lisp
From: Antonio Marques
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Fri, 12 Jul 2024 12:22 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: no_email@invalid.invalid (Antonio Marques)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Fri, 12 Jul 2024 12:22:25 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <v6r760$316kb$1@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me>
<v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me>
<v6pjio$2kqvg$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 12 Jul 2024 14:22:25 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="6b7432e4796a83a0f767832a62ec7af8";
logging-data="3185291"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX183xJMK4//mw9ul2p39vN9/yKlsMfW0XtZiDSrMOhjYtg=="
User-Agent: NewsTap/5.5 (iPhone/iPod Touch)
Cancel-Lock: sha1:7SUHbhKNz0ro93J7XVG/bMVhMDY=
sha1:wdUt4m8/qPwmDmm2IutkfijQEww=
View all headers

Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> On Thu, 11 Jul 2024 12:57:12 -0000 (UTC), Antonio Marques wrote:
>
>> 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”.
>>>
>> I can more or less see how callbacks can be used as a kind of dependency
>> injection, but those are separate concepts.
>
> “Dependency injection” is just packaging up a bunch of callbacks as
> methods in a class.
>

That's like saying Formula One is just putting cigarette stickers in your
boat.

Subject: Re: REPL in Lisp
From: Julieta Shem
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Followup: comp.lang.lisp
Organization: A noiseless patient Spider
Date: Fri, 12 Jul 2024 21:12 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Followup-To: comp.lang.lisp
Date: Fri, 12 Jul 2024 18:12:48 -0300
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <875xta5n73.fsf@yaxenu.org>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me> <v6pjio$2kqvg$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 12 Jul 2024 23:12:57 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="14be15ed003b2981bb013f9e91bc5bd2";
logging-data="3363925"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19ohu0KcFc6GpjML9fs7z+Q/FY1fEAv6Uk="
Cancel-Lock: sha1:CmIxvfwImkRZtJQyzTZXoBJwlOw=
sha1:Gc8nwoYJZcgbPrxCHEY3K5SV4gE=
View all headers

Follow-up to comp.lang.lisp. Even though it doesn't even belong to
comp.lang.lisp, let's at least free other groups from this topic. Or
provide me with better judgement.

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Thu, 11 Jul 2024 12:57:12 -0000 (UTC), Antonio Marques wrote:
>
>> 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”.
>>>
>> I can more or less see how callbacks can be used as a kind of dependency
>> injection, but those are separate concepts.
>
> “Dependency injection” is just packaging up a bunch of callbacks as
> methods in a class.

Why would you say ``packaging up''? Can we look at Wikipedia? (I'd
appreciate a good reference. I don't know exactly where to look.)

--8<-------------------------------------------------------->8---
[...] dependency injection is a programming technique in which an
object or function receives other objects or functions that it
requires, as opposed to creating them internally. Dependency injection
aims to separate the concerns of constructing objects and using them,
leading to loosely coupled programs.[1][2][3] The pattern ensures that
an object or function that wants to use a given service should not
have to know how to construct those services. Instead, the receiving
'client' (object or function) is provided with its dependencies by
external code (an 'injector'), which it is not aware of. --Wikipedia
--8<-------------------------------------------------------->8---

So I see why you're saying ``callback'' because the object or function
will call your procedures to get what it needs (instead of creating them
internally). But why would say ``packaging up''? (Couldn't I
``inject'' the ``dependencies'' by passing them all as arguments.)

I suppose ``packaging up'' would be appropriate if we pass in to a
procedure an object containing all the callbacks that you say.

Anyway, my interpretation of the Wikipedia article is merely
abstraction. Nothing but abstraction. I don't see why we need to call
it ``injection'' or even ``dependency'', even though the choice of words
isn't absurd.

(*) The source

Dependency injection
https://en.wikipedia.org/wiki/Dependency_injection

Subject: Re: REPL in Lisp
From: Antonio Marques
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Followup: comp.lang.lisp
Organization: A noiseless patient Spider
Date: Fri, 12 Jul 2024 22:46 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: no_email@invalid.invalid (Antonio Marques)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Followup-To: comp.lang.lisp
Date: Fri, 12 Jul 2024 22:46:39 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 83
Message-ID: <v6sbof$37ogs$1@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me>
<v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me>
<v6pjio$2kqvg$2@dont-email.me>
<875xta5n73.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 13 Jul 2024 00:46:40 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="c04c6732504f1722a246c568ff141397";
logging-data="3400220"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+1Tz5GXEArCMC9XiOW2BhnLCM/fS1ll7PpuTiKfkf5vQ=="
User-Agent: NewsTap/5.5 (iPhone/iPod Touch)
Cancel-Lock: sha1:1s+CXuFNAAkwdUXv/lT4Qdb3Ov8=
sha1:9OtJWID1xXgauKyorXqiU7E4crM=
View all headers

Julieta Shem <jshem@yaxenu.org> wrote:
> Follow-up to comp.lang.lisp. Even though it doesn't even belong to
> comp.lang.lisp, let's at least free other groups from this topic. Or
> provide me with better judgement.
>
> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>
>> On Thu, 11 Jul 2024 12:57:12 -0000 (UTC), Antonio Marques wrote:
>>
>>> 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”.
>>>>
>>> I can more or less see how callbacks can be used as a kind of dependency
>>> injection, but those are separate concepts.
>>
>> “Dependency injection” is just packaging up a bunch of callbacks as
>> methods in a class.
>
> Why would you say ``packaging up''? Can we look at Wikipedia? (I'd
> appreciate a good reference. I don't know exactly where to look.)
>
> --8<-------------------------------------------------------->8---
> [...] dependency injection is a programming technique in which an
> object or function receives other objects or functions that it
> requires, as opposed to creating them internally. Dependency injection
> aims to separate the concerns of constructing objects and using them,
> leading to loosely coupled programs.[1][2][3] The pattern ensures that
> an object or function that wants to use a given service should not
> have to know how to construct those services. Instead, the receiving
> 'client' (object or function) is provided with its dependencies by
> external code (an 'injector'), which it is not aware of. --Wikipedia
> --8<-------------------------------------------------------->8---
>
> So I see why you're saying ``callback'' because the object or function
> will call your procedures to get what it needs (instead of creating them
> internally). But why would say ``packaging up''?

(You shouldn't be trying to make sense of information provided by someone
who admits to not understanding it.)

> (Couldn't I
> ``inject'' the ``dependencies'' by passing them all as arguments.)

That's one way to do it. In languages that rely on 'objects' it's
fashionable to declare a field for each dependency, with an annotation that
says it's a dependency, and some framework will provide the values at run
time (there will be some framework-specific way to instantiate the
dependencies).

>
> I suppose ``packaging up'' would be appropriate if we pass in to a
> procedure an object containing all the callbacks that you say.
>
> Anyway, my interpretation of the Wikipedia article is merely
> abstraction. Nothing but abstraction. I don't see why we need to call
> it ``injection'' or even ``dependency'', even though the choice of words
> isn't absurd.

Again, abstraction is just a requirement. There's few things in software
that don't imply some form of abstraction, so that word doesn't get us very
far.

Dependency injection is all about the injection: someone provides your
dependencies for you, and what concrete implementations of those is
something that can and will vary.

> (*) The source
>
> Dependency injection
> https://en.wikipedia.org/wiki/Dependency_injection
>

Subject: Re: REPL in Lisp
From: Lawrence D'Oliv
Newsgroups: sci.lang, comp.lang.lisp, comp.lang.scheme
Organization: A noiseless patient Spider
Date: Fri, 12 Jul 2024 23:10 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: sci.lang,comp.lang.lisp,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Fri, 12 Jul 2024 23:10:05 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 6
Message-ID: <v6sd4c$37p6h$5@dont-email.me>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me> <v6pjio$2kqvg$2@dont-email.me>
<875xta5n73.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 13 Jul 2024 01:10:08 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4afe4a8ac7caac09e54830e7e7a8837d";
logging-data="3400913"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/oHm6J6mTc+B2jFtkPUPpk"
User-Agent: Pan/0.158 (Avdiivka; )
Cancel-Lock: sha1:KrU0WMwSFgJMR/u+UuQNhsBrLVg=
View all headers

On Fri, 12 Jul 2024 18:12:48 -0300, Julieta Shem wrote:

> But why would say ``packaging up''? (Couldn't I
> ``inject'' the ``dependencies'' by passing them all as arguments.)

Precisely my point. You can indeed.

Subject: Re: REPL in Lisp
From: Aidan Kehoe
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Date: Sat, 13 Jul 2024 07:24 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: kehoea@parhasard.net (Aidan Kehoe)
Newsgroups: comp.lang.lisp,sci.lang,comp.lang.scheme
Subject: Re: REPL in Lisp
Date: Sat, 13 Jul 2024 08:24:27 +0100
Lines: 25
Message-ID: <87ikx97o0k.fsf@parhasard.net>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
<20240711183456.580@kylheku.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net LvzP3pb5b30v0XgnRpH18wXpXvZMu088jhiJwjFKGv+7fMmL2a
Cancel-Lock: sha1:73fgrhZhiNmEeHVOKVUWFRd7lLE= sha1:FOZ2HH5MVMSTjMii/Qi+WnX0CkQ= sha256:D7rsVYdNtqcUaJQgp840ge4RvClQcZzEZSNpua/jDFc=
User-Agent: Gnus/5.101 (Gnus v5.10.10) XEmacs/21.5-b35 (Linux-aarch64)
View all headers

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?

> C has lexical scoping without capture: the bindings are destroyed
> when their associated scope terminates.

--
‘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)

Subject: Re: REPL in Lisp
From: Julieta Shem
Newsgroups: comp.lang.lisp
Organization: A noiseless patient Spider
Date: Sat, 13 Jul 2024 15:53 UTC
References: 1 2 3 4 5 6
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: REPL in Lisp
Date: Sat, 13 Jul 2024 12:53:35 -0300
Organization: A noiseless patient Spider
Lines: 36
Message-ID: <87sewd1e68.fsf@yaxenu.org>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me> <v6pjio$2kqvg$2@dont-email.me>
<875xta5n73.fsf@yaxenu.org> <v6sbof$37ogs$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Sat, 13 Jul 2024 17:53:35 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="10d068c4e1ecb6893d4928057b705c98";
logging-data="3844280"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18bFtrBRuFEw7Ufi7kpvUXhmgon2vb6c2o="
Cancel-Lock: sha1:lMWxynAONJMcvBebSmN+6PffVwY=
sha1:7+yzZsolX4VC1C9stDBsphTHIsE=
View all headers

Antonio Marques <no_email@invalid.invalid> writes:

> Julieta Shem <jshem@yaxenu.org> wrote:

[...]

>> (Couldn't I
>> ``inject'' the ``dependencies'' by passing them all as arguments[?])
>
> That's one way to do it. In languages that rely on 'objects' it's
> fashionable to declare a field for each dependency, with an annotation that
> says it's a dependency, and some framework will provide the values at run
> time (there will be some framework-specific way to instantiate the
> dependencies).

Got it.

>> I suppose ``packaging up'' would be appropriate if we pass in to a
>> procedure an object containing all the callbacks that you say.
>>
>> Anyway, my interpretation of the Wikipedia article is merely
>> abstraction. Nothing but abstraction. I don't see why we need to call
>> it ``injection'' or even ``dependency'', even though the choice of words
>> isn't absurd.
>
> Again, abstraction is just a requirement. There's few things in software
> that don't imply some form of abstraction, so that word doesn't get us very
> far.

Thanks. That makes perfect sense.

> Dependency injection is all about the injection: someone provides your
> dependencies for you, and what concrete implementations of those is
> something that can and will vary.

It's very clear now. Thank you so much.

Subject: Re: REPL in Lisp
From: Kaz Kylheku
Newsgroups: comp.lang.lisp
Organization: A noiseless patient Spider
Date: Sun, 14 Jul 2024 00:03 UTC
References: 1 2 3 4 5 6 7
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.lisp
Subject: Re: REPL in Lisp
Date: Sun, 14 Jul 2024 00:03:08 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <20240713165224.889@kylheku.com>
References: <v6nf07$296j5$1@dont-email.me> <v6nfrr$29ajf$2@dont-email.me>
<v6okr8$2fhdg$1@dont-email.me> <v6pjio$2kqvg$2@dont-email.me>
<875xta5n73.fsf@yaxenu.org> <v6sbof$37ogs$1@dont-email.me>
<87sewd1e68.fsf@yaxenu.org>
Injection-Date: Sun, 14 Jul 2024 02:03:08 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="b878b995a15b13ece19fc6e93d1b7128";
logging-data="3998697"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19RKsMdMsd0wFXjk9TWRO44miyFAqu10lE="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:s1pQxoXutmAtMkc75shv1Jpg/Hs=
View all headers

On 2024-07-13, Julieta Shem <jshem@yaxenu.org> wrote:
>> Dependency injection is all about the injection: someone provides your
>> dependencies for you, and what concrete implementations of those is
>> something that can and will vary.
>
> It's very clear now. Thank you so much.

Therfore, a funtion that is used with different callbacks all the time,
like mapcar in Lisp or qsort in C, is not dependency injection.
Invocations of these functions forget about the callback when they are done.

An API that offers multiple handle instances to the clients, and
the handles can bind callbacks for notification, also doesn't look
like dependency inversion.

There is a a sense that the indirection is used to set up a single
instance of some needed resources which could be, in principle,
set up without indirection.

In the firmware application that I work on, I was asked to resolve a
circular reference between two separate components that were calling
each other's functions. The solution was to register indirect functions
for one calling direction. The registered functions are set once
at startup and do not vary.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: REPL in Lisp
From: George Neuner
Newsgroups: comp.lang.lisp, sci.lang, comp.lang.scheme
Organization: i2pn2 (i2pn.org)
Date: Sun, 14 Jul 2024 15:25 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: gneuner2@comcast.net (George Neuner)
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
View all headers

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.

Subject: Re: REPL in Lisp
From: Aidan Kehoe
Newsgroups: comp.lang.lisp, comp.lang.scheme
Date: Sun, 14 Jul 2024 21:03 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: kehoea@parhasard.net (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: <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)
View all headers

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)

1

rocksolid light 0.9.8
clearnet tor