libera/#sicl - IRC Chatlog
Search
15:42:18
mfiano
https://github.com/robert-strandh/Stealth-mixin/blob/master/stealth-mixin.lisp#L10-L11
15:56:42
mfiano
This tiny library is such a great idea. It's certainly very different, and maybe better, than the way I've been using the MOP to create mixins.
15:57:54
beach
I see. Well, there is a place for "ordinary" mixins, if both the mixins and the main classes that use them as superclasses are in the same module.
15:58:57
beach
And, if there is no performance problem, client code can use hash tables to store the same information that a stealth mixin does. Albeit with a more awkward way of using it.
15:59:51
mfiano
I particularly like how you can solve the model notification problem with an :after method, preventing the model from having even a loose dependency on the view, which could be important if eg; the source code is not even available.
16:02:00
mfiano
Yes and I think that is wonderful. For a long time, I was wondering if something like this was possible, because I dislike mutually dependent packages.
16:03:26
beach
Right, the description of the traditional way of implementing the observer pattern looks good in theory, but it requires the model to be written with observers in mind. And sometimes, you just use an existing model that was not written that way.
16:06:42
mfiano
I will have to think about what that means if the model uses simple method combination
16:09:08
mfiano
Yeah this is seeming good on paper the more I think about it. I look forward to integrating it into my codes
16:23:00
mfiano
I'm also excited because my constant complaining finally paid off and an SBCL dev issued a patch to the style-warning with duplicate symbol-name slots.
16:23:24
mfiano
mixins are no longer an annoyance for me to use, though I'm not sure when that patch will make it into a release.