<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div><br></div>A semi-newbies view from the cheap seats here.<br><br>This looks like a variant of the command pattern.  <br><br>If so, that might be a useful note on the new wiki page.<br><br>cheers.<br><div style="border-top: 1px solid rgb(204, 204, 204); height: 0px; margin-top: 10px; margin-bottom: 10px; line-height: 0px;" class="zmail_extra_hr"><br></div><div style="" data-zbluepencil-ignore="true" class="zmail_extra"><br><div id="Zm-_Id_-Sgn1">---- On Sat, 13 Mar 2021 09:47:46 -0500 <b>David T. Lewis <<a target="_blank" href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>></b> wrote ----<br></div><br><blockquote style="margin: 0px;"><div>Actually I think that David is right, a page on the wiki would be quite<br>helpful here. I do not understand the topic well enough to write that<br>page, but it would be great if someone can explain it.<br><br>In this case the wiki page might explain something about the background<br>of ObjectsAsMethods. Why was it invented, and for what might it potentially<br>be useful? Sometimes features like this are invented because they are<br>interesting and "just because we can". In other cases, there is some<br>bigger idea involved. I don't know which it is here, the feature is<br>interesting but I can't think of any useful application for it.<br><br>I also note that class TestObjectsAsMethods and its two support classes<br>AbstractObjectsAsMethod and ObjectsAsMethodsExample do not even have<br>any class comments. Nor do any of the tests have method comments. Yes,<br>it is possible to figure out how it works by experimenting with the<br>tests, but this certainly does not qualify as good in-image documentation.<br>Some class comments would be welcome here :-)<br><br>Dave<br><br><br>On Thu, Mar 11, 2021 at 11:48:01AM +0000, Thiede, Christoph wrote:<br>> Hi David,<br>> <br>> <br>> I think this is already documented quite well in TestObjectsAsMethods, directly in your image. IMO this kind of documentation is also more sustainable than documentation in a far-away wiki that can deprecate and be out of sync with the rest of the code. :-)<br>> <br>> <br>> Best,<br>> <br>> Christoph<br>> <br>> <<a href="http://www.hpi.de/" target="_blank">http://www.hpi.de/</a>><br>> ________________________________<br>> Von: Beginners <<a href="mailto:beginners-bounces@lists.squeakfoundation.org" target="_blank">beginners-bounces@lists.squeakfoundation.org</a>> im Auftrag von <a href="mailto:stes@PANDORA.BE" target="_blank">stes@PANDORA.BE</a> <<a href="mailto:stes@telenet.be" target="_blank">stes@telenet.be</a>><br>> Gesendet: Donnerstag, 11. M?rz 2021 12:32:29<br>> An: beginners<br>> Betreff: Re: [Newbies] AbstractObjectsAsMethod<br>> <br>> -----BEGIN PGP SIGNED MESSAGE-----<br>> Hash: SHA256<br>> <br>> <br>> When doing a search on wiki.squeak.org: search for AbstractObjectsAsMethod<br>> <br>> it finds matches in<br>> <br>> ListOfClassesInSqueak5dot0<br>> ListOfClassesInSqueak5dot1<br>> ListOfClassesInSqueak5dot2<br>> ListOfClassesInSqueak5dot3<br>> <br>> So AbstractObjectsAsMethod  is in there, but there is no info,<br>> that the purpose is (I think) that subclasses provide their own version of<br>> <br>>    run:aSelector with:arguments in:aReceiver<br>> <br>> where the run:with:in: message is dispatched by the VM.<br>> <br>> In the example with the class Bar where I add #foobar<br>> using addSelector:withMethod:<br>> <br>> aSelector is #foobar<br>> arguments is an Array<br>> aReceiver is then an instance of Bar<br>> <br>> David Stes<br>> <br>> -----BEGIN PGP SIGNATURE-----<br>> Version: GnuPG v2<br>> <br>> iQEcBAEBCAAGBQJgSf+RAAoJEAwpOKXMq1MalZUH/jaympPLw9I5nj9XWcktII+x<br>> 8L42KDIUTYROfo7+SbJ14/lx4POujxSPG7F8LYBkzNoVS+7fzA8WVZK+h1yYx6du<br>> BdpINh5XuMtgMft/u9b/0dS56xbnk0+oKkCKLV7G6iujMl8qfPjGXy6b2MWedDuF<br>> OOBPeIakns2JCmwOMRwWnREZt1H3xOa8WEPBW4cQZ7aSje5H9gHCBEabtkd12x1T<br>> WJU4+JsuNTk9bUlo8w1NchfbEdAR1vrzoHlTwxlJYTn5Vt3wsKUyox9Vxfut0skf<br>> uMpg2jhVYGSkqve39jclvhqB/Pjw0UgLeLAWCBErYK814wBYB5+8Boqx7Mq+6KI=<br>> =8OYx<br>> -----END PGP SIGNATURE-----<br>> _______________________________________________<br>> Beginners mailing list<br>> <a href="mailto:Beginners@lists.squeakfoundation.org" target="_blank">Beginners@lists.squeakfoundation.org</a><br>> <a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br><br>> _______________________________________________<br>> Beginners mailing list<br>> <a href="mailto:Beginners@lists.squeakfoundation.org" target="_blank">Beginners@lists.squeakfoundation.org</a><br>> <a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br><br>_______________________________________________<br>Beginners mailing list<br><a href="mailto:Beginners@lists.squeakfoundation.org" target="_blank">Beginners@lists.squeakfoundation.org</a><br><a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br></div></blockquote></div><div><br></div></div><br></body></html>