toad.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server operated by David Troy, a tech pioneer and investigative journalist addressing threats to democracy. Thoughtful participation and discussion welcome.

Administered by:

Server stats:

198
active users

#clos

0 posts0 participants0 posts today
Vassil Nikolov<p>[AMOP]<br><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@dougmerritt" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dougmerritt</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@weekend_editor" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>weekend_editor</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>Right now I'm thinking that the real value of _The Art of the Metaobject Protocol_ is showing one way to do metaprogramming, and object-oriented programming is merely a demonstration domain.</p><p>Of course, what begat AMOP was a desire for an approach that can cover a large part of the OOP language design space, not just one point in that space, in order to be attractive to different schools of thought.</p><p><a href="https://ieji.de/tags/AMOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AMOP</span></a><br><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@dougmerritt" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dougmerritt</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@weekend_editor" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>weekend_editor</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>&gt; no one else has been mentioning (so far as I've noticed) "The Art of the Metaobject Protocol"</p><p>Not in this thread.<br>Indeed, this book is a tour de force (et de magique).</p><p>&gt; uncertain that the topic deserved such a deep analysis</p><p>The topic—maybe, maybe not, but the book is really about the metatopic, i.e. about metaprogramming, if I may abuse this prefix.<br>(I know this ought to be formulated more carefully.)</p><p><a href="https://ieji.de/tags/AMOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AMOP</span></a><br><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@weekend_editor" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>weekend_editor</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@dougmerritt" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dougmerritt</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>&gt; (call-next-method) is a procedural way to do this, costing an extra function call at runtime, but obviating the need for weird compilation.</p><p>And that is the costs-of-lisp-implementation consideration.</p><p>The other one is the program design consideration (including the costs of program modification), which often leads me to prefer a declarative style, but that is my point of view, there are always tradeoffs, etc.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@weekend_editor" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>weekend_editor</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@dougmerritt" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dougmerritt</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>P.S.<br>If I recall correctly, freezing a set of class and generic function definitions (including the methods) precludes some operations later, like redefining a class at run time, but I don't know if this is related to your question.<br>Again, don't trust me.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@dougmerritt" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dougmerritt</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>&lt;"&gt;<br>I think the core feature is call-next-method, which can effectively be used to simulate around/before/after? (Not 100% sure it's an exact match.)<br>&lt;/"&gt;</p><p>Rather, the "before/after/around" approach is declarative, the `call-next-method' approach is procedural.<br>I can't recall a citation; I think this is even stated in the specification.</p><p>I'm afraid I'll leave a comparative analysis of the two approaches for another day 🙂.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@dougmerritt" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dougmerritt</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span></p><p>&gt; since it came up, how many CLOS features do you need?</p><p>You are right to ask.<br>Off the top of my head, I've needed<br>multiple inheritance,<br>multiple dispatch,<br>"before" and "after" methods.<br>Maybe I did something with method combination once or twice, but let's not count this if I can't recall properly.<br>But I am not a serious ("heavy-duty") <a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a> user.</p><p>If this counts, in other languages I have missed capabilities to customize object initialization.</p>
Vassil Nikolov<p>[Red Daly's Parenscript Object System, simplified-CLOS-like.]</p><p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@abuseofnotation" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>abuseofnotation</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> </p><p>Thank you, that is impressive.<br>From Stanford.<br>Regrettably, I don't have the time to find out the extent of simplification.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a><br><a href="https://ieji.de/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a><br><a href="https://ieji.de/tags/Parenscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Parenscript</span></a></p>
Vassil Nikolov<p>[Local generic functions.]</p><p><span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>In fact, `generic-flet' was proposed and not adopted.</p><p>&lt;<a href="http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Issues/iss181.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">http://www.</span><span class="ellipsis">ai.mit.edu/projects/iiip/doc/C</span><span class="invisible">ommonLISP/HyperSpec/Issues/iss181.html</span></a>&gt;</p><p>I am glad you found a bug 🙂.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
Vassil Nikolov<p>[CLOS and JavaScript]</p><p><span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span> <span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span></p><p>&gt; parenscript obviously doesn't have its own CLOS implementation</p><p>And achieving that doesn't seem like a five-minute job...</p><p>I am not the judge of whether that work can be justified, no matter how attractive it is.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a><br><a href="https://ieji.de/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a><br><a href="https://ieji.de/tags/Parenscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Parenscript</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span></p><p>&gt; had to rewrite my hurkle game without using CLOS. I thought a bit about using the 'make-load-form generic</p><p>Embarrassingly, my memory fails now about what exactly happened to standardizing anonymous generic functions.</p><p><a href="https://ieji.de/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a></p>
lispm<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@amoroso" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>amoroso</span></a></span> <a href="https://mastodon.social/tags/clos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clos</span></a> <a href="https://mastodon.social/tags/commonlisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonlisp</span></a> <a href="https://mastodon.social/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a> <a href="https://mastodon.social/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> there was still a choice between various proposals then...</p><p>But the actual CLOS was not far away - the standard proposal was published in September 1988: <a href="https://dl.acm.org/toc/sigplan/1988/23/SI" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">dl.acm.org/toc/sigplan/1988/23</span><span class="invisible">/SI</span></a> <br>Available above as a PDF. The final version was then published with the ANSI CL standard.</p>
Paolo Amoroso<p>I'm looking to study CLOS code that is well designed, well documented, _and_ makes idiomatic use of mixin classes. Any recommendations other than the usual Common Lisp and CLOS books?</p><p><a href="https://fosstodon.org/tags/clos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clos</span></a> <a href="https://fosstodon.org/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a> <a href="https://fosstodon.org/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a></p>
Paul SomeoneElse<p>I don't know when to use defgeneric in <a href="https://mastodon.sdf.org/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a> code.</p><p><a href="https://mastodon.sdf.org/tags/commonlisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonlisp</span></a> </p><p>I just write defmethod forms by themselves.</p>
vintage screwlisp account<p><a href="https://mastodon.sdf.org/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.sdf.org/tags/techDiscussion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>techDiscussion</span></a> of <a href="https://mastodon.sdf.org/tags/commonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonLisp</span></a> on <a href="https://mastodon.sdf.org/tags/itch_io" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>itch_io</span></a> .<br><a href="https://lispy-gopher-show.itch.io/moonclimb/devlog/791188/what-we-get-out-of-lisp" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">lispy-gopher-show.itch.io/moon</span><span class="invisible">climb/devlog/791188/what-we-get-out-of-lisp</span></a></p><p>: A short pamphlet about what I think you get out of lisp. Namely <a href="https://mastodon.sdf.org/tags/loop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>loop</span></a> <a href="https://mastodon.sdf.org/tags/format" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>format</span></a> <a href="https://mastodon.sdf.org/tags/clim" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clim</span></a> <a href="https://mastodon.sdf.org/tags/clos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clos</span></a> <a href="https://mastodon.sdf.org/tags/conditions" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>conditions</span></a> ie <a href="https://mastodon.sdf.org/tags/iteration" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>iteration</span></a> <a href="https://mastodon.sdf.org/tags/prettyPrinting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>prettyPrinting</span></a> <a href="https://mastodon.sdf.org/tags/GUI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GUI</span></a> <a href="https://mastodon.sdf.org/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>oop</span></a> <a href="https://mastodon.sdf.org/tags/notCrashing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>notCrashing</span></a></p><p>When I remember how to get any of my tildes back I will gopher the org doc.</p>
vintage screwlisp account<p><a href="https://toobnix.org/w/cYv47BY8FtprzhpHLpiVeY" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">toobnix.org/w/cYv47BY8FtprzhpH</span><span class="invisible">LpiVeY</span></a><br><a href="https://mastodon.sdf.org/tags/commonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonLisp</span></a> <a href="https://mastodon.sdf.org/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.sdf.org/tags/detailed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>detailed</span></a> <a href="https://mastodon.sdf.org/tags/intro" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>intro</span></a> to <a href="https://mastodon.sdf.org/tags/ASDF" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ASDF</span></a> and <a href="https://mastodon.sdf.org/tags/CLIM" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLIM</span></a> in <a href="https://mastodon.sdf.org/tags/emacs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>emacs</span></a> 18 minutes. Touches <a href="https://mastodon.sdf.org/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a>. </p><p>This <a href="https://mastodon.sdf.org/tags/video" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>video</span></a> covers the <a href="https://mastodon.sdf.org/tags/breadAndButter" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>breadAndButter</span></a> of programming in my view. I'll write this up later.</p><p>In the context of starting to draft <a href="https://mastodon.sdf.org/tags/LAFS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LAFS</span></a>, but that's ancillary to the what-programming-actually-consists-of content. LAFS: <a href="https://lispy-gopher-show.itch.io/lisp-game-soft-cons" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">lispy-gopher-show.itch.io/lisp</span><span class="invisible">-game-soft-cons</span></a></p><p>If you need 5 minutes of first steps in this direction first, I think this video satisfies that: <a href="https://toobnix.org/w/2WYHBTHGvRQ8pUSVmKhKGg" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">toobnix.org/w/2WYHBTHGvRQ8pUSV</span><span class="invisible">mKhKGg</span></a></p>
vintage screwlisp account<p>Sorry about the <a href="https://mastodon.sdf.org/tags/video" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>video</span></a> flood. I think these 5 minute videos are more useful, but I guess they happen in the context of the lengthy naturalistic wandering.</p><p><a href="https://toobnix.org/w/cZq8pXSBvvmvYeTVHr6utJ" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">toobnix.org/w/cZq8pXSBvvmvYeTV</span><span class="invisible">Hr6utJ</span></a><br><a href="https://mastodon.sdf.org/tags/clim" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clim</span></a> <a href="https://mastodon.sdf.org/tags/gui" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gui</span></a> application frame; an interactor and four panes controlled by lambdas displaying slots from a parent class. <a href="https://mastodon.sdf.org/tags/clos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clos</span></a> as well I guess. <a href="https://mastodon.sdf.org/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a>. I'm trying to get something finished today =_=.</p>
vintage screwlisp account<p><a href="https://mastodon.sdf.org/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://mastodon.sdf.org/tags/clim" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clim</span></a> <a href="https://mastodon.sdf.org/tags/clos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clos</span></a> <a href="https://mastodon.sdf.org/tags/solution" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>solution</span></a> (originally, I was going to whine about a <a href="https://mastodon.sdf.org/tags/problem" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>problem</span></a>).<br>Sorry, deep <a href="https://mastodon.sdf.org/tags/commonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonLisp</span></a> </p><p>The problem was that I wanted to shared-initialize :after some button-panes in a table-pane generated by tabling. The list given to tabling is used as :initial-contents to make-array an exported slot, array. I wanted to use slot-values of the initialized application-frame. The solution was to use :default-initargs for the application-frame slots which are available in shared-initialize.</p>
Chief TWiT :twit:<p>I've completed "Pulse Propagation" - Day 20 - Advent of Code 2023 <a href="https://twit.social/tags/AdventOfCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AdventOfCode</span></a> <a href="https://adventofcode.com/2023/day/20" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">adventofcode.com/2023/day/20</span><span class="invisible"></span></a></p><p>Yes I'm still plugging away. Used OOP for this one, specifically Common Lisp's CLOS. Very elegant!</p><p><a href="https://github.com/leolaporte/aoc-cl/blob/main/2023/Day_20/Day_20.lisp" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/leolaporte/aoc-cl/b</span><span class="invisible">lob/main/2023/Day_20/Day_20.lisp</span></a></p><p><a href="https://twit.social/tags/AOC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AOC</span></a> <a href="https://twit.social/tags/Lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lisp</span></a> <a href="https://twit.social/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a></p>
technicat<p>Sometimes I miss the <a href="https://universeodon.com/tags/clos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clos</span></a> before/after/around methods</p>
fresco<p>This book was written in 1991. I inherited this copy from someone I met in 1991 as well. (He became a friend and mentor).</p><p>This is such a good read. Light &amp; clear...reminiscence from the past.<br><a href="https://mastodon.social/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://mastodon.social/tags/Lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lisp</span></a> <a href="https://mastodon.social/tags/CLOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLOS</span></a></p>