Hi all, I've got a quick update from SimulationStudio for you:<br>
<br>
I have just published the <b>SimulationMethodFinder,</b> 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.<br>
<br>
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 <b>executing each message send in an isolated Sandbox [1].</b> In addition, it offers several new convenience features: <b>automatic reordering</b> of receiver and arguments; you can specify a <b>predicate</b> or a block instead of a constant value to match the outputs; <b>asynchronous searching</b> in the background for longer operations; and even a <b>recursive mode</b> that will automatically construct an entire expression tree of multiple message sends.<br>
<br>
Please find some example screenshots in the attachment.<br>
<br>
You can try it out by installing in an up-to-date Trunk image:<br>
<br>
    <font color="#000000">Metacello </font><font color="#000080">new</font><font color="#000000"><br>
</font>    <font color="#000000">    </font><font color="#000080">baseline:</font><font color="#000000"> </font><font color="#800080">'SimulationStudio'</font><font color="#000000">;<br>
</font>    <font color="#000000">    </font><font color="#000080">githubUser:</font><font color="#000000"> </font><font color="#800080">'LinqLover'</font><font color="#000000"> </font><font color="#000080">project:</font><font color="#000000"> </font><font color="#800080">'SimulationStudio'</font><font color="#000000"> </font><font color="#000080">path:</font><font color="#000000"> </font><font color="#800080">'packages'</font><font color="#000000">;<br>
</font>    <font color="#000000">    </font><font color="#000080">get</font><font color="#000000">;<br>
</font>    <font color="#000000">    </font><font color="#000080">load</font><font color="#000000">.</font><br>
<br>
... and then opening a SimulationMethodFinder from the <b>Apps menu</b> in the docking bar. Further information is on <a href="https://github.com/LinqLover/SimulationStudio">GitHub [2]</a>.<br>
<br>
Hope you like it! As always, I'm very excited to hear your ideas, apply your feedback, or receive your contributions. :-)<br>
<br>
Happy Squeaking, everyone!<br>
<br>
Best,<br>
Christoph<br>
<br>
[1] <a href="http://forum.world.st/ANN-SimulationStudio-and-sandboxed-execution-for-Squeak-td5127804.html">http://forum.world.st/ANN-SimulationStudio-and-sandboxed-execution-for-Squeak-td5127804.html</a><br>
[2] <a href="https://github.com/LinqLover/SimulationStudio">https://github.com/LinqLover/SimulationStudio</a><br>
<br>
<font color="#808080">---<br>
</font><font color="#808080"><i>Sent from </i></font><font color="#808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></font>