<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>> <span style="font-size:12pt">Instead for now, is there a more meaningful selector than </span><span style="font-size:12pt">isOrganizationMember given that this property just corresponds to </span><span style="font-size:12pt">another one that you are really looking for? </span><span style="font-size:12pt">canDistinguish[SomethingLikeInstancesOrTheOppositeOfRevisionsOfAnother], </span><span style="font-size:12pt">canDistinguishRevisionsFromOtherObjects, </span><span style="font-size:12pt">canDistinguishRevisionsAcrossPackages?</span></p>
<div><br>
</div>
<div>Hm, quite long names. :-) How about #hasUniqueDescription? #isDescription[Globally]Unique? Something like that? :-)</div>
<div><br>
</div>
<div>> <span style="font-size:12pt">Or override isRevisionOf:, but then it would be inconsistent with </span><span style="font-size:12pt">behavior that relies on description directly for the time being (e. g. </span><span style="font-size:12pt">hash --> Dictionary
 overwriting).</span>
<div><br>
</div>
<div>No, we shouldn't override #isRevisionOf: for exactly the reason you gave.</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
</div>
<p></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> Jakob Reschke <forums.jakob@resfarm.de><br>
<b>Gesendet:</b> Montag, 16. November 2020 19:44:20<br>
<b>An:</b> Thiede, Christoph<br>
<b>Cc:</b> squeak-dev@lists.squeakfoundation.org; Tom Beckmann<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Monticello-ct.732.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Am Mo., 16. Nov. 2020 um 18:22 Uhr schrieb Thiede, Christoph<br>
<Christoph.Thiede@student.hpi.uni-potsdam.de>:<br>
><br>
> However, since you're commenting this, I'm asking myself two questions:<br>
><br>
> Is it a valid operation to remove an entire organization definition under any circumstances?<br>
<br>
taH pagh taHbe (To be, or not to be)... [1]<br>
There is always an organization as long as there is a package.<br>
Removing the package organization is only valid when you unload<br>
(remove) the whole package. According to<br>
MCOrganizationDefinition>>#unload it would only remove empty<br>
categories anyway.<br>
<br>
[1] <a href="https://en.wikipedia.org/wiki/The_Klingon_Hamlet">https://en.wikipedia.org/wiki/The_Klingon_Hamlet</a><br>
<br>
> Couldn't we instead modify the #definition implementation of MCOrganizationDefinition and insert the containing system category name at this place? Semantically, this would look better for me, but unfortunately, MCOrganizationDefinition does not have a relevant
 instance variable ...<br>
><br>
<br>
Did you mean #description instead? In absence of a packageName<br>
variable, it would have to find the common prefix of the elements in<br>
its categories variable. Though for cross-package loads, it must be<br>
made sure that it still behaves correctly<br>
(GoferLoad>>#updateCategories).<br>
<br>
I suggest to check or resolve that later and keep the current<br>
behavior, to not block your current contribution.<br>
<br>
> > In domain terms, why is it significant here that the definitions are members of an organization? Why does this procedure not apply to organization changes or script changes, for example?<br>
><br>
> Fair question. #description is only unique for a definition that is part of an organization. Given a set of two MCVersions one of which would add and the second one would delete an MCOrganizationDefinition for separate packages, by the current implementation
 these organization definitions would be revisions of each other and thus would be wiped up in #forgetSuperfluousMethodRemovals.<br>
><br>
<br>
Instead for now, is there a more meaningful selector than<br>
isOrganizationMember given that this property just corresponds to<br>
another one that you are really looking for?<br>
canDistinguish[SomethingLikeInstancesOrTheOppositeOfRevisionsOfAnother],<br>
canDistinguishRevisionsFromOtherObjects,<br>
canDistinguishRevisionsAcrossPackages?<br>
<br>
Or override isRevisionOf:, but then it would be inconsistent with<br>
behavior that relies on description directly for the time being (e. g.<br>
hash --> Dictionary overwriting).<br>
</div>
</span></font>
</body>
</html>