<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p><span style="font-size: 12pt;">Hi Fabio,</span><br>
</p>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p><br>
</p>
<p>thanks for your insights! I see your points of maintenance and understandability. But where do you draw the line between useful and abusive convenience methods? Does your opinion apply as well to #timeProfile, for example, which is also a convenience connector
 to a foreign domain and does not add logical value per se? I see an advantage in convenience methods like this, not only because it's literally more convenient to type them but also because they improve the explorability of the system. (I wouldn't have known
 the TimeProfileBrowser today if I hadn't stumbled upon #timeProfile.)</p>
<p><br>
</p>
<p>However, personal packages are a good idea. Their only disadvantage is that they make it harder to check dependencies ...</p>
<p><br>
</p>
<p>@Marcel: You're right. I should write more comments when I commit stuff :-)</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<p><br>
</p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Fabio Niephaus <lists@fniephaus.com><br>
<b>Gesendet:</b> Montag, 23. März 2020 10:39:03<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Kernel-ct.1320.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt">
<div class="PlainText">Hi Christoph,<br>
<br>
I don't want to keep you from contributing to Squeak, but I'm not sure<br>
if adding convenience methods like this is a good idea. Why? I have<br>
lots of such methods myself (some of them I even got from others). But<br>
as long as they have no senders/purpose in the image, it pretty much<br>
just means:<br>
<br>
a) they are hard to discover and to keep up-to-date,<br>
b) everyone has to maintain everyone's convenience methods (e.g in<br>
case Context>>#runSimulated ever changes),<br>
and c) at some point, we may have users relying on (the wrong) API<br>
which should not be used in production.<br>
<br>
I have a set of personal packages in which I keep things like this.<br>
What do you think?<br>
<br>
Fabio<br>
<br>
On Sun, Mar 22, 2020 at 8:25 PM <commits@source.squeak.org> wrote:<br>
><br>
> A new version of Kernel was added to project The Inbox:<br>
> <a href="http://source.squeak.org/inbox/Kernel-ct.1320.mcz" id="LPlnk609132" previewremoved="true">
http://source.squeak.org/inbox/Kernel-ct.1320.mcz</a><br>
><br>
> ==================== Summary ====================<br>
><br>
> Name: Kernel-ct.1320<br>
> Author: ct<br>
> Time: 22 March 2020, 8:25:11.31556 pm<br>
> UUID: d08c3179-cda9-2944-b692-9ef1b00d7742<br>
> Ancestors: Kernel-eem.1319<br>
><br>
> Proposal: Add convenience method #runSimulated to BlockClosure. While this should not be used in production, it can be helpful for exploring and testing the simulation machinery.<br>
><br>
> =============== Diff against Kernel-eem.1319 ===============<br>
><br>
> Item was added:<br>
> + ----- Method: BlockClosure>>runSimulated (in category 'system simulation') -----<br>
> + runSimulated<br>
> +<br>
> +       ^ Context runSimulated: self!<br>
><br>
><br>
<br>
</div>
</span></font></div>
</body>
</html>