From m.olszewski at nexat.pl Sat Mar 6 13:08:48 2021 From: m.olszewski at nexat.pl (=?UTF-8?Q?Micha=c5=82_Olszewski?=) Date: Sat, 6 Mar 2021 14:08:48 +0100 Subject: [Newbies] Issues with installing OMeta2 + infinite 2D world Message-ID: Hello, I'm new to the list. My first question is, how do I load correctly OMeta2 into Squeak 5.3? I'm loading it using monticello browser and several errors pop up: 1. first one is syntax error that I ignore. I assume it's related to that Ometa extends smalltalk syntax with its own one. 2. second one is: *MessageNotUnderstood:UndefinedObject>>isOMeta2Rule:* .I choose to just implement one, in Object class, that returns always true value. 3. The third one is *MessageNotUnderstood: OMeta2Compiler>>parseCue:noPattern:ifFail:* . I tried to debug it and it seems it's sent to parser, but parser understands such message or am I reading it wrong? Attempting to implement it in Compiler class instance side, results in infinite loop (image freeze). Is there some way to load it, or something is broken in newer versions of Squeak? By the way my OS is Windows 8.1, image is freshly downloaded from website + installed Babelsberg package. My second question is, how can I implement infinite 2D world/pane where I can scroll/use mouse "click and drag" to navigate? What morphs classes (or approaches) should I use to implement such functionality? I want to implement train simulation (transporting goods etc.). Michał -------------- next part -------------- An HTML attachment was scrubbed... URL: From stes at telenet.be Thu Mar 11 11:15:56 2021 From: stes at telenet.be (stes@PANDORA.BE) Date: Thu, 11 Mar 2021 12:15:56 +0100 (CET) Subject: [Newbies] AbstractObjectsAsMethod Message-ID: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 It seems the runtime (VM) defines a special selector #define SelectorRunWithIn 49 for a message with:run:in: I don't know the details of the purpose of this selector, but I think the VM supports it so that subclasses of AbstractObjectsAsMethod, not just subclasses of CompiledMethod, can be used as methods. As a test (this could be documented somewhere, for example on wiki.squeak.org) consider 2 classes 'Foo' and 'Bar' : AbstractObjectsAsMethod subclass: #Foo instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'ObjectAsMethodTrivial'! !Foo methodsFor: 'RuntimeSupport'! run:aSelector with:arguments in:aReceiver "" Transcript show:'in Foo run:with:in:'. Transcript cr. ^ self! ! Object subclass: #Bar instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'ObjectAsMethodTrivial'! !Bar class methodsFor: 'class initialization'! addFooBar "" self addSelector:#foobar withMethod:(Foo new). ^ self! ! Now after fileIn of the above Foo and Bar classes, if I open a Transcript and run in a Workspace : |p| p _ Bar new. Bar addFooBar. p foobar. will print in an open Transcript in Foo run:with:in: Again, I think this could/or should be documented on wiki.squeak.org, but what happens is, I think, that if I dynamically add a message (method) implementation to class Bar, using addFooBar, which is installing a method #foobar using addSelector:withMethod:, then the VM dispatched a run:with:in message to the 'method' object, which need not be a actually, a subclass of CompiledMethod. Also some other selectors flushCache, selector: and methodClass: seem necessary for this feature to work. By subclassing AbstractObjectsAsMethod, on the other hand, it is not required to implement flushCache, selector: and methodClass: as AbstractObjectsAsMethod is doing that, so perhaps the intented usage is to subclass AbstractObjectsAsMethod That is why in the above example I do: AbstractObjectsAsMethod subclass: #Foo If this is a standard Squeak feature, it could be on the wiki.squeak.org; I was not able to find info on it. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJgSfvAAAoJEAwpOKXMq1MaaGkIAKlXT+qfJcTVjMXRZwABdhFP nTYk+yxSVCarXcoNZSDM6P6dC3xurEECF2Ypkr4zN7QvogFU/4hpe90AXWNPP26E kmX5fJy59bxld1OlNYOX3DjTx69cL8/0QKcBHdRS6Ka012WY0Af415r9bLca6kOc b19FsWDZe9FcXJUaHqiQRBvyhQBt3NcVwYUIXlRwHEiTPfLIXqkjPlOOTlTtezRE B9m3u0GI0ycUcj4hMb7HpSZQOlb6ADfyz4pYXr+0js3EKxiFC6VSThPB0cJpcOTl o7dGjS2kFwX333JJfpyztETqWjmUR6s9PLGGZe9Ki2H7LsKKi4Gy35yWs33n0tI= =tvmw -----END PGP SIGNATURE----- From stes at telenet.be Thu Mar 11 11:32:29 2021 From: stes at telenet.be (stes@PANDORA.BE) Date: Thu, 11 Mar 2021 12:32:29 +0100 (CET) Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be> References: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be> Message-ID: <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 When doing a search on wiki.squeak.org: search for AbstractObjectsAsMethod it finds matches in ListOfClassesInSqueak5dot0 ListOfClassesInSqueak5dot1 ListOfClassesInSqueak5dot2 ListOfClassesInSqueak5dot3 So AbstractObjectsAsMethod is in there, but there is no info, that the purpose is (I think) that subclasses provide their own version of run:aSelector with:arguments in:aReceiver where the run:with:in: message is dispatched by the VM. In the example with the class Bar where I add #foobar using addSelector:withMethod: aSelector is #foobar arguments is an Array aReceiver is then an instance of Bar David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJgSf+RAAoJEAwpOKXMq1MalZUH/jaympPLw9I5nj9XWcktII+x 8L42KDIUTYROfo7+SbJ14/lx4POujxSPG7F8LYBkzNoVS+7fzA8WVZK+h1yYx6du BdpINh5XuMtgMft/u9b/0dS56xbnk0+oKkCKLV7G6iujMl8qfPjGXy6b2MWedDuF OOBPeIakns2JCmwOMRwWnREZt1H3xOa8WEPBW4cQZ7aSje5H9gHCBEabtkd12x1T WJU4+JsuNTk9bUlo8w1NchfbEdAR1vrzoHlTwxlJYTn5Vt3wsKUyox9Vxfut0skf uMpg2jhVYGSkqve39jclvhqB/Pjw0UgLeLAWCBErYK814wBYB5+8Boqx7Mq+6KI= =8OYx -----END PGP SIGNATURE----- From Christoph.Thiede at student.hpi.uni-potsdam.de Thu Mar 11 11:48:01 2021 From: Christoph.Thiede at student.hpi.uni-potsdam.de (Thiede, Christoph) Date: Thu, 11 Mar 2021 11:48:01 +0000 Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> References: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be>, <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> Message-ID: <19b314ede9d84cdd9155c7b0751ce808@student.hpi.uni-potsdam.de> Hi David, 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. :-) Best, Christoph ________________________________ Von: Beginners im Auftrag von stes at PANDORA.BE Gesendet: Donnerstag, 11. März 2021 12:32:29 An: beginners Betreff: Re: [Newbies] AbstractObjectsAsMethod -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 When doing a search on wiki.squeak.org: search for AbstractObjectsAsMethod it finds matches in ListOfClassesInSqueak5dot0 ListOfClassesInSqueak5dot1 ListOfClassesInSqueak5dot2 ListOfClassesInSqueak5dot3 So AbstractObjectsAsMethod is in there, but there is no info, that the purpose is (I think) that subclasses provide their own version of run:aSelector with:arguments in:aReceiver where the run:with:in: message is dispatched by the VM. In the example with the class Bar where I add #foobar using addSelector:withMethod: aSelector is #foobar arguments is an Array aReceiver is then an instance of Bar David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJgSf+RAAoJEAwpOKXMq1MalZUH/jaympPLw9I5nj9XWcktII+x 8L42KDIUTYROfo7+SbJ14/lx4POujxSPG7F8LYBkzNoVS+7fzA8WVZK+h1yYx6du BdpINh5XuMtgMft/u9b/0dS56xbnk0+oKkCKLV7G6iujMl8qfPjGXy6b2MWedDuF OOBPeIakns2JCmwOMRwWnREZt1H3xOa8WEPBW4cQZ7aSje5H9gHCBEabtkd12x1T WJU4+JsuNTk9bUlo8w1NchfbEdAR1vrzoHlTwxlJYTn5Vt3wsKUyox9Vxfut0skf uMpg2jhVYGSkqve39jclvhqB/Pjw0UgLeLAWCBErYK814wBYB5+8Boqx7Mq+6KI= =8OYx -----END PGP SIGNATURE----- _______________________________________________ Beginners mailing list Beginners at lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners -------------- next part -------------- An HTML attachment was scrubbed... URL: From lewis at mail.msen.com Sat Mar 13 14:47:46 2021 From: lewis at mail.msen.com (David T. Lewis) Date: Sat, 13 Mar 2021 09:47:46 -0500 Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: <19b314ede9d84cdd9155c7b0751ce808@student.hpi.uni-potsdam.de> References: <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> <19b314ede9d84cdd9155c7b0751ce808@student.hpi.uni-potsdam.de> Message-ID: <20210313144746.GA69103@shell.msen.com> Actually I think that David is right, a page on the wiki would be quite helpful here. I do not understand the topic well enough to write that page, but it would be great if someone can explain it. In this case the wiki page might explain something about the background of ObjectsAsMethods. Why was it invented, and for what might it potentially be useful? Sometimes features like this are invented because they are interesting and "just because we can". In other cases, there is some bigger idea involved. I don't know which it is here, the feature is interesting but I can't think of any useful application for it. I also note that class TestObjectsAsMethods and its two support classes AbstractObjectsAsMethod and ObjectsAsMethodsExample do not even have any class comments. Nor do any of the tests have method comments. Yes, it is possible to figure out how it works by experimenting with the tests, but this certainly does not qualify as good in-image documentation. Some class comments would be welcome here :-) Dave On Thu, Mar 11, 2021 at 11:48:01AM +0000, Thiede, Christoph wrote: > Hi David, > > > 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. :-) > > > Best, > > Christoph > > > ________________________________ > Von: Beginners im Auftrag von stes at PANDORA.BE > Gesendet: Donnerstag, 11. M?rz 2021 12:32:29 > An: beginners > Betreff: Re: [Newbies] AbstractObjectsAsMethod > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > > When doing a search on wiki.squeak.org: search for AbstractObjectsAsMethod > > it finds matches in > > ListOfClassesInSqueak5dot0 > ListOfClassesInSqueak5dot1 > ListOfClassesInSqueak5dot2 > ListOfClassesInSqueak5dot3 > > So AbstractObjectsAsMethod is in there, but there is no info, > that the purpose is (I think) that subclasses provide their own version of > > run:aSelector with:arguments in:aReceiver > > where the run:with:in: message is dispatched by the VM. > > In the example with the class Bar where I add #foobar > using addSelector:withMethod: > > aSelector is #foobar > arguments is an Array > aReceiver is then an instance of Bar > > David Stes > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBCAAGBQJgSf+RAAoJEAwpOKXMq1MalZUH/jaympPLw9I5nj9XWcktII+x > 8L42KDIUTYROfo7+SbJ14/lx4POujxSPG7F8LYBkzNoVS+7fzA8WVZK+h1yYx6du > BdpINh5XuMtgMft/u9b/0dS56xbnk0+oKkCKLV7G6iujMl8qfPjGXy6b2MWedDuF > OOBPeIakns2JCmwOMRwWnREZt1H3xOa8WEPBW4cQZ7aSje5H9gHCBEabtkd12x1T > WJU4+JsuNTk9bUlo8w1NchfbEdAR1vrzoHlTwxlJYTn5Vt3wsKUyox9Vxfut0skf > uMpg2jhVYGSkqve39jclvhqB/Pjw0UgLeLAWCBErYK814wBYB5+8Boqx7Mq+6KI= > =8OYx > -----END PGP SIGNATURE----- > _______________________________________________ > Beginners mailing list > Beginners at lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > _______________________________________________ > Beginners mailing list > Beginners at lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners From gettimothy at zoho.com Sun Mar 14 09:07:53 2021 From: gettimothy at zoho.com (gettimothy) Date: Sun, 14 Mar 2021 05:07:53 -0400 Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: <20210313144746.GA69103@shell.msen.com> References: <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> <19b314ede9d84cdd9155c7b0751ce808@student.hpi.uni-potsdam.de> <20210313144746.GA69103@shell.msen.com> Message-ID: <1782ffdea78.1172edd231069.2032981057153078106@zoho.com> A semi-newbies view from the cheap seats here. This looks like a variant of the command pattern.   If so, that might be a useful note on the new wiki page. cheers. ---- On Sat, 13 Mar 2021 09:47:46 -0500 David T. Lewis wrote ---- Actually I think that David is right, a page on the wiki would be quite helpful here. I do not understand the topic well enough to write that page, but it would be great if someone can explain it. In this case the wiki page might explain something about the background of ObjectsAsMethods. Why was it invented, and for what might it potentially be useful? Sometimes features like this are invented because they are interesting and "just because we can". In other cases, there is some bigger idea involved. I don't know which it is here, the feature is interesting but I can't think of any useful application for it. I also note that class TestObjectsAsMethods and its two support classes AbstractObjectsAsMethod and ObjectsAsMethodsExample do not even have any class comments. Nor do any of the tests have method comments. Yes, it is possible to figure out how it works by experimenting with the tests, but this certainly does not qualify as good in-image documentation. Some class comments would be welcome here :-) Dave On Thu, Mar 11, 2021 at 11:48:01AM +0000, Thiede, Christoph wrote: > Hi David, > > > 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. :-) > > > Best, > > Christoph > > > ________________________________ > Von: Beginners im Auftrag von mailto:stes at PANDORA.BE > Gesendet: Donnerstag, 11. M?rz 2021 12:32:29 > An: beginners > Betreff: Re: [Newbies] AbstractObjectsAsMethod > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > > When doing a search on wiki.squeak.org: search for AbstractObjectsAsMethod > > it finds matches in > > ListOfClassesInSqueak5dot0 > ListOfClassesInSqueak5dot1 > ListOfClassesInSqueak5dot2 > ListOfClassesInSqueak5dot3 > > So AbstractObjectsAsMethod is in there, but there is no info, > that the purpose is (I think) that subclasses provide their own version of > > run:aSelector with:arguments in:aReceiver > > where the run:with:in: message is dispatched by the VM. > > In the example with the class Bar where I add #foobar > using addSelector:withMethod: > > aSelector is #foobar > arguments is an Array > aReceiver is then an instance of Bar > > David Stes > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBCAAGBQJgSf+RAAoJEAwpOKXMq1MalZUH/jaympPLw9I5nj9XWcktII+x > 8L42KDIUTYROfo7+SbJ14/lx4POujxSPG7F8LYBkzNoVS+7fzA8WVZK+h1yYx6du > BdpINh5XuMtgMft/u9b/0dS56xbnk0+oKkCKLV7G6iujMl8qfPjGXy6b2MWedDuF > OOBPeIakns2JCmwOMRwWnREZt1H3xOa8WEPBW4cQZ7aSje5H9gHCBEabtkd12x1T > WJU4+JsuNTk9bUlo8w1NchfbEdAR1vrzoHlTwxlJYTn5Vt3wsKUyox9Vxfut0skf > uMpg2jhVYGSkqve39jclvhqB/Pjw0UgLeLAWCBErYK814wBYB5+8Boqx7Mq+6KI= > =8OYx > -----END PGP SIGNATURE----- > _______________________________________________ > Beginners mailing list > mailto:Beginners at lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > _______________________________________________ > Beginners mailing list > mailto:Beginners at lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list mailto:Beginners at lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners -------------- next part -------------- An HTML attachment was scrubbed... URL: From stes at telenet.be Mon Mar 15 19:06:22 2021 From: stes at telenet.be (stes@PANDORA.BE) Date: Mon, 15 Mar 2021 20:06:22 +0100 (CET) Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> References: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be> <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> Message-ID: <1147909240.46373039.1615835182227.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 When I select the method run:with:in: of the class (AbstractObjectsAsMethods subclass) ObjectsAsMethodsExample : and then I click in the menu on "Implementors of it" (m), I find: Implementors of run:with:in: ObjectsAsMethodsExample run:with:in: {as yet unclassified} TestCoverage run:with:in: {evaluation} WrappedBreakpoint run:with:in: {evaluation} So I suspect the classes "TestCoverage" and "WrappedBreakpoint" somehow also implement run:with:in Perhaps TestCoverage in the category SUnitGUI is a reason why the feature is there. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJgT7ABAAoJEAwpOKXMq1MaJ4gIAK2xW25G4ScKyagy6C2XUzEj bySA/MPqvZlvFqHixn+Z1/VeIOAJYamojV0Y8S3mymc0ACRHrunMAwCrsVqgQpBV yPAadkHY41J2vZT1hrhJOHuRHHF35yGWSGHVir3ucFzamfBQluUWIhh5NPK+BBrK kk//j91v8aci5bLWR4GVWmoaOytI78/3EAESKvvkT4e7+CVz4gRjsX6kfKQY3l3J 301GhMtdb905jqxoe97U4lBRyY2ZDkwpqHPNgrWwnE6SydbhIHDZeJ+qadZYmlr4 dbFsjs5m90vtl2P4+ut6frGUC6URmaKOte+NrWGJ8SaHhv385kQTW+tucZNVHCI= =VrXK -----END PGP SIGNATURE----- From marcel.taeumel at hpi.de Tue Mar 16 08:24:34 2021 From: marcel.taeumel at hpi.de (Marcel Taeumel) Date: Tue, 16 Mar 2021 09:24:34 +0100 Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: <1147909240.46373039.1615835182227.JavaMail.zimbra@telenet.be> References: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be> <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> <1147909240.46373039.1615835182227.JavaMail.zimbra@telenet.be> Message-ID: Hi David, hi all! For using object-as-method, you do not need to inherit from #AbstractObjectsAsMethod. Just install an object into a class' method dictionary that implements #run:with:in:. Method Wrappers do this: https://github.com/hpi-swa/MethodWrappers Here is an example for installing such objects-as-methods: https://github.com/hpi-swa/MethodWrappers/blob/master/packages/MethodWrappers.package/MwMethodWrapper.class/instance/install.st It uses Behavior >> #addSelectorSilently:withMethod: to modify the class' method dictionary. Best, Marcel Am 15.03.2021 20:06:33 schrieb stes at PANDORA.BE : -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 When I select the method run:with:in: of the class (AbstractObjectsAsMethods subclass) ObjectsAsMethodsExample : and then I click in the menu on "Implementors of it" (m), I find: Implementors of run:with:in: ObjectsAsMethodsExample run:with:in: {as yet unclassified} TestCoverage run:with:in: {evaluation} WrappedBreakpoint run:with:in: {evaluation} So I suspect the classes "TestCoverage" and "WrappedBreakpoint" somehow also implement run:with:in Perhaps TestCoverage in the category SUnitGUI is a reason why the feature is there. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJgT7ABAAoJEAwpOKXMq1MaJ4gIAK2xW25G4ScKyagy6C2XUzEj bySA/MPqvZlvFqHixn+Z1/VeIOAJYamojV0Y8S3mymc0ACRHrunMAwCrsVqgQpBV yPAadkHY41J2vZT1hrhJOHuRHHF35yGWSGHVir3ucFzamfBQluUWIhh5NPK+BBrK kk//j91v8aci5bLWR4GVWmoaOytI78/3EAESKvvkT4e7+CVz4gRjsX6kfKQY3l3J 301GhMtdb905jqxoe97U4lBRyY2ZDkwpqHPNgrWwnE6SydbhIHDZeJ+qadZYmlr4 dbFsjs5m90vtl2P4+ut6frGUC6URmaKOte+NrWGJ8SaHhv385kQTW+tucZNVHCI= =VrXK -----END PGP SIGNATURE----- _______________________________________________ Beginners mailing list Beginners at lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcel.taeumel at hpi.de Tue Mar 16 08:26:19 2021 From: marcel.taeumel at hpi.de (Marcel Taeumel) Date: Tue, 16 Mar 2021 09:26:19 +0100 Subject: [Newbies] AbstractObjectsAsMethod In-Reply-To: References: <1957352362.31807378.1615461356778.JavaMail.zimbra@telenet.be> <1780505279.31865235.1615462349974.JavaMail.zimbra@telenet.be> <1147909240.46373039.1615835182227.JavaMail.zimbra@telenet.be> Message-ID: ... and in WrappedBreakpoint >> #install, you find an other way to update a method dictionary. :-) Best, Marcel Am 16.03.2021 09:24:34 schrieb Marcel Taeumel : Hi David, hi all! For using object-as-method, you do not need to inherit from #AbstractObjectsAsMethod. Just install an object into a class' method dictionary that implements #run:with:in:. Method Wrappers do this: https://github.com/hpi-swa/MethodWrappers Here is an example for installing such objects-as-methods: https://github.com/hpi-swa/MethodWrappers/blob/master/packages/MethodWrappers.package/MwMethodWrapper.class/instance/install.st It uses Behavior >> #addSelectorSilently:withMethod: to modify the class' method dictionary. Best, Marcel Am 15.03.2021 20:06:33 schrieb stes at PANDORA.BE : -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 When I select the method run:with:in: of the class (AbstractObjectsAsMethods subclass) ObjectsAsMethodsExample : and then I click in the menu on "Implementors of it" (m), I find: Implementors of run:with:in: ObjectsAsMethodsExample run:with:in: {as yet unclassified} TestCoverage run:with:in: {evaluation} WrappedBreakpoint run:with:in: {evaluation} So I suspect the classes "TestCoverage" and "WrappedBreakpoint" somehow also implement run:with:in Perhaps TestCoverage in the category SUnitGUI is a reason why the feature is there. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJgT7ABAAoJEAwpOKXMq1MaJ4gIAK2xW25G4ScKyagy6C2XUzEj bySA/MPqvZlvFqHixn+Z1/VeIOAJYamojV0Y8S3mymc0ACRHrunMAwCrsVqgQpBV yPAadkHY41J2vZT1hrhJOHuRHHF35yGWSGHVir3ucFzamfBQluUWIhh5NPK+BBrK kk//j91v8aci5bLWR4GVWmoaOytI78/3EAESKvvkT4e7+CVz4gRjsX6kfKQY3l3J 301GhMtdb905jqxoe97U4lBRyY2ZDkwpqHPNgrWwnE6SydbhIHDZeJ+qadZYmlr4 dbFsjs5m90vtl2P4+ut6frGUC6URmaKOte+NrWGJ8SaHhv385kQTW+tucZNVHCI= =VrXK -----END PGP SIGNATURE----- _______________________________________________ Beginners mailing list Beginners at lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners -------------- next part -------------- An HTML attachment was scrubbed... URL: