Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: 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: <875xta5n73.fsf@yaxenu.org> 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= Bytes: 2339 Antonio Marques writes: > Julieta Shem 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.