[squeak-dev] [ANN] News from SimulationStudio: Method Finder 2

christoph.thiede at student.hpi.uni-potsdam.de christoph.thiede at student.hpi.uni-potsdam.de
Tue Sep 20 20:18:47 UTC 2022


Hi all, I've got a quick update from SimulationStudio for you:

I have just published the SimulationMethodFinder, which is a kind of advancement from the original MethodFinder/SelectorBrowser in Squeak/ST80. The original idea remains the same: You tell the tool a set of input arguments and an expected output, and the tool will find all selectors for you that can be used to compute the output from the inputs.

However, the original MethodFinder has a major limitation: It can only find a handcrafted allow-list of selectors from known domains, since sending arbitrary messages to objects might do severe harm to the image (imagine dozens of automated #halt and #error sends, or even #quitPrimitive ...). SimulationMethodFinder overcomes this limitation by executing each message send in an isolated Sandbox [1]. In addition, it offers several new convenience features: automatic reordering of receiver and arguments; you can specify a predicate or a block instead of a constant value to match the outputs; asynchronous searching in the background for longer operations; and even a recursive mode that will automatically construct an entire expression tree of multiple message sends.

Please find some example screenshots in the attachment.

You can try it out by installing in an up-to-date Trunk image:

    Metacello new
        baseline: 'SimulationStudio';
        githubUser: 'LinqLover' project: 'SimulationStudio' path: 'packages';
        get;
        load.

... and then opening a SimulationMethodFinder from the Apps menu in the docking bar. Further information is on GitHub [2].

Hope you like it! As always, I'm very excited to hear your ideas, apply your feedback, or receive your contributions. :-)

Happy Squeaking, everyone!

Best,
Christoph

[1] http://forum.world.st/ANN-SimulationStudio-and-sandboxed-execution-for-Squeak-td5127804.html
[2] https://github.com/LinqLover/SimulationStudio

---
Sent from Squeak Inbox Talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220920/4e39a5c6/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Simulation Method Finder (#toCamelCase).png
Type: image/png
Size: 33926 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220920/4e39a5c6/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Simulation Method Finder (#pairsDo).png
Type: image/png
Size: 56878 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220920/4e39a5c6/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Simulation Method Finder (recursive).png
Type: image/png
Size: 43849 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220920/4e39a5c6/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Simulation Method Finder (predicate).png
Type: image/png
Size: 38330 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220920/4e39a5c6/attachment-0007.png>


More information about the Squeak-dev mailing list