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 connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <875xta5n73.fsf@yaxenu.org>
Deutsch   English   Français   Italiano  
<875xta5n73.fsf@yaxenu.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Julieta Shem <jshem@yaxenu.org>
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=
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 <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