mastouille.fr est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Mastouille est une instance Mastodon durable, ouverte, et hébergée en France.

Administré par :

Statistiques du serveur :

573
comptes actifs

#clos

0 message0 participant0 message aujourd’hui
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 noreferrer" 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 noreferrer" 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 noreferrer" 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 noreferrer" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a><br><a href="https://ieji.de/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a><br><a href="https://ieji.de/tags/Parenscript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Parenscript</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 noreferrer" 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 noreferrer" 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 noreferrer" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a><br><a href="https://ieji.de/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a><br><a href="https://ieji.de/tags/Parenscript" class="mention hashtag" rel="nofollow noopener noreferrer" 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 noreferrer" 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 noreferrer" target="_blank">#<span>CLOS</span></a><br><a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a></p>
Europe Says<p><a href="https://www.europesays.com/1902189/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">europesays.com/1902189/</span><span class="invisible"></span></a> Bridgepoint prices its first new issue European CLO of 2025 <a href="https://pubeurope.com/tags/Bridgepoint" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Bridgepoint</span></a> <a href="https://pubeurope.com/tags/CLOs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLOs</span></a> <a href="https://pubeurope.com/tags/europe" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>europe</span></a> <a href="https://pubeurope.com/tags/JohnMurphy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JohnMurphy</span></a></p>
mousebot<p><a href="https://todon.nl/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a> <a href="https://todon.nl/tags/oop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>oop</span></a> <a href="https://todon.nl/tags/eieio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>eieio</span></a> <a href="https://todon.nl/tags/clos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clos</span></a></p><p>can any CLOS-ians can throw me a bone, regarding multi method inheritance:</p><p>say i have a group (1) of classes with methods, and another group (2) of classes.</p><p>i want group 2 to be the same as group 1 except that they all run a different version of a single method.</p><p>do i define another class for group 2, specialize the one method on it, and then have the classes in group 2 multi-inherit that class?</p><p>like</p><p>(defclass group-2-class (group-1-class-counterpart new-extra-method-class)<br> (())</p><p>it seems to work, but i'm confused as to why, if group-1-class-counterpart precedes new-extra-method-class in the superclasses, the method of new-extra-method-class seems to run at all?</p><p>i tried it with the two superclasses the otherway around, which is what i thought was required, and it did not work, as no group 1 methods seemed to be called.</p>
screwlisp<p><a href="https://mastodon.sdf.org/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.sdf.org/tags/techDiscussion" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>techDiscussion</span></a> of <a href="https://mastodon.sdf.org/tags/commonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>commonLisp</span></a> on <a href="https://mastodon.sdf.org/tags/itch_io" class="mention hashtag" rel="nofollow noopener noreferrer" 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 noreferrer" 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 noreferrer" target="_blank">#<span>loop</span></a> <a href="https://mastodon.sdf.org/tags/format" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>format</span></a> <a href="https://mastodon.sdf.org/tags/clim" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clim</span></a> <a href="https://mastodon.sdf.org/tags/clos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clos</span></a> <a href="https://mastodon.sdf.org/tags/conditions" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>conditions</span></a> ie <a href="https://mastodon.sdf.org/tags/iteration" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>iteration</span></a> <a href="https://mastodon.sdf.org/tags/prettyPrinting" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>prettyPrinting</span></a> <a href="https://mastodon.sdf.org/tags/GUI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GUI</span></a> <a href="https://mastodon.sdf.org/tags/oop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>oop</span></a> <a href="https://mastodon.sdf.org/tags/notCrashing" class="mention hashtag" rel="nofollow noopener noreferrer" 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>
screwlisp<p><a href="https://toobnix.org/w/cYv47BY8FtprzhpHLpiVeY" rel="nofollow noopener noreferrer" 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 noreferrer" target="_blank">#<span>commonLisp</span></a> <a href="https://mastodon.sdf.org/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.sdf.org/tags/detailed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>detailed</span></a> <a href="https://mastodon.sdf.org/tags/intro" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>intro</span></a> to <a href="https://mastodon.sdf.org/tags/ASDF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ASDF</span></a> and <a href="https://mastodon.sdf.org/tags/CLIM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLIM</span></a> in <a href="https://mastodon.sdf.org/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a> 18 minutes. Touches <a href="https://mastodon.sdf.org/tags/CLOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLOS</span></a>. </p><p>This <a href="https://mastodon.sdf.org/tags/video" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>video</span></a> covers the <a href="https://mastodon.sdf.org/tags/breadAndButter" class="mention hashtag" rel="nofollow noopener noreferrer" 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 noreferrer" 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 noreferrer" 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 noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">toobnix.org/w/2WYHBTHGvRQ8pUSV</span><span class="invisible">mKhKGg</span></a></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 noreferrer" target="_blank">#<span>AdventOfCode</span></a> <a href="https://adventofcode.com/2023/day/20" rel="nofollow noopener noreferrer" 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 noreferrer" 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 noreferrer" target="_blank">#<span>AOC</span></a> <a href="https://twit.social/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> <a href="https://twit.social/tags/CLOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLOS</span></a></p>
PURH<p>Au-delà de sa valeur patrimoniale, cette démarche sous-tend nombre d’enjeux à considérer, à la fois identitaire, économique ou agricole, nécessaires pour préserver ce paysage vivant.</p><p>🔎 Pour en savoir plus sur l’ouvrage, c’est ici : <br><a href="https://www.lcdpu.fr/livre/?GCOI=27000100409900" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">lcdpu.fr/livre/?GCOI=270001004</span><span class="invisible">09900</span></a></p><p><a href="https://social.sciences.re/tags/clos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clos</span></a>-masure <a href="https://social.sciences.re/tags/normandie" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>normandie</span></a> <a href="https://social.sciences.re/tags/patrimoine" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>patrimoine</span></a> <a href="https://social.sciences.re/tags/tourisme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tourisme</span></a> <a href="https://social.sciences.re/tags/nature" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nature</span></a> <a href="https://social.sciences.re/tags/naturel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>naturel</span></a> <a href="https://social.sciences.re/tags/unesco" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>unesco</span></a> <a href="https://social.sciences.re/tags/normands" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>normands</span></a> <a href="https://social.sciences.re/tags/agricole" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>agricole</span></a> <a href="https://social.sciences.re/tags/paysage" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>paysage</span></a></p>
LisPi<p><a href="https://en.wikipedia.org/wiki/Entity_component_system#Characteristics" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">en.wikipedia.org/wiki/Entity_c</span><span class="invisible">omponent_system#Characteristics</span></a></p><p>&gt; This eliminates the ambiguity problems of deep and wide inheritance hierarchies often found in Object Oriented Programming techniques that are difficult to understand, maintain, and extend. Common ECS approaches are highly compatible with, and are often combined with, data-oriented design techniques.</p><p>I'm sorry what? Generics and multi-methods <a href="https://mastodon.top/tags/ObjectOriented" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ObjectOriented</span></a> systems (<a href="https://en.wikipedia.org/wiki/Multiple_dispatch" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">en.wikipedia.org/wiki/Multiple</span><span class="invisible">_dispatch</span></a>) have no such problem.</p><p><a href="https://functional.cafe/@awkravchuk/110490845045463704" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">functional.cafe/@awkravchuk/11</span><span class="invisible">0490845045463704</span></a></p><p><a href="https://mastodon.top/tags/CLOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLOS</span></a> <a href="https://mastodon.top/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a> <a href="https://mastodon.top/tags/Wikipedia" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Wikipedia</span></a></p>
blake shaw 🇵🇸<p><span class="h-card"><a href="https://functional.cafe/@PaniczGodek" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>PaniczGodek</span></a></span> oh really? to me they are like the bread and butter. when you build good records and structure your programs around them, your flexibility increases dramatically as you have these quasi-"intermediate representations" that are extensible and easy + performant to handle. many schemes use records as their fundamental underlying data representation, including <a href="https://functional.cafe/tags/guile" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>guile</span></a> and I believe <a href="https://functional.cafe/tags/chez" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>chez</span></a> as well. and I think <a href="https://functional.cafe/tags/r6rs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>r6rs</span></a> record protocols make them both extremely extensible and parametric, as well as <a href="https://functional.cafe/tags/guix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>guix</span></a>'s define-record-type* lazy records which serve a similar purpose with a lot less cognitive overhead.</p><p>lots of cool record systems out there, I'm interested in understanding the tradeoffs of <a href="https://functional.cafe/tags/gauche" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gauche</span></a>'s approach in particular, which is to implement records within a <a href="https://functional.cafe/tags/clos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clos</span></a>-like object system, which seems to allow you to work with generic methods on record-types (which is something that GOOPs is not very good at, for example). what approach did you go with for your record system?</p>
blake shaw 🇵🇸<p>Good talk about <a href="https://functional.cafe/tags/Kandria" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kandria</span></a>, the platformer developed in Common <a href="https://functional.cafe/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> using <a href="https://functional.cafe/tags/CLOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLOS</span></a>, as well as <a href="https://functional.cafe/tags/Alloy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Alloy</span></a>, the <a href="https://functional.cafe/tags/UI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>UI</span></a> protocol toolkit used to develop it, from Tuesday at <a href="https://functional.cafe/tags/ELSconf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ELSconf</span></a></p><p><a href="https://www.twitch.tv/videos/1803073686" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://www.</span><span class="">twitch.tv/videos/1803073686</span><span class="invisible"></span></a><br>(starts at approx. 1hr into the stream)</p>
A répondu dans un fil de discussion

@Angle @smari Data-driven could lend itself to different composition patterns.

Part of the issue though with Object-Oriented programming is that the most common form is also the worst form. Java-style objects are a half-assed ripoff of Smalltalk actor objects.

Which personally I find less practical than #CLOS-style multiple dispatch, where objects really are just encapsulating datastructures to be manipulated.