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!news.eternal-september.org!.POSTED!not-for-mail
From: 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:
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=
Bytes: 3635
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 writes:
> On Thu, 11 Jul 2024 12:57:12 -0000 (UTC), Antonio Marques wrote:
>
>> 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”.
>>>
>> 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