[squeak-dev] The Inbox: Kernel-ct.1320.mcz

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Tue Mar 24 08:08:57 UTC 2020


Hi Fabio,


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.)


However, personal packages are a good idea. Their only disadvantage is that they make it harder to check dependencies ...


@Marcel: You're right. I should write more comments when I commit stuff :-)


Best,

Christoph


________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Fabio Niephaus <lists at fniephaus.com>
Gesendet: Montag, 23. März 2020 10:39:03
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] The Inbox: Kernel-ct.1320.mcz

Hi Christoph,

I don't want to keep you from contributing to Squeak, but I'm not sure
if adding convenience methods like this is a good idea. Why? I have
lots of such methods myself (some of them I even got from others). But
as long as they have no senders/purpose in the image, it pretty much
just means:

a) they are hard to discover and to keep up-to-date,
b) everyone has to maintain everyone's convenience methods (e.g in
case Context>>#runSimulated ever changes),
and c) at some point, we may have users relying on (the wrong) API
which should not be used in production.

I have a set of personal packages in which I keep things like this.
What do you think?

Fabio

On Sun, Mar 22, 2020 at 8:25 PM <commits at source.squeak.org> wrote:
>
> A new version of Kernel was added to project The Inbox:
> http://source.squeak.org/inbox/Kernel-ct.1320.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-ct.1320
> Author: ct
> Time: 22 March 2020, 8:25:11.31556 pm
> UUID: d08c3179-cda9-2944-b692-9ef1b00d7742
> Ancestors: Kernel-eem.1319
>
> 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.
>
> =============== Diff against Kernel-eem.1319 ===============
>
> Item was added:
> + ----- Method: BlockClosure>>runSimulated (in category 'system simulation') -----
> + runSimulated
> +
> +       ^ Context runSimulated: self!
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200324/de75ce4e/attachment.html>


More information about the Squeak-dev mailing list