<div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        <span style="font-size: 12pt">Uh-oh. I broke this list conversation by accident. I did not notice. This is what happened:</span><div class="mb_sig"></div>
                                        
                                        <div><span style="font-size: 12pt"><br></span></div><div><span style="font-size: 12pt">Me: <span style="line-height: 1.5;">It is only a single global state/entry point. If tests can point you to this problem, then it should be easy to clean up resp. fix.</span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt"><br></span></span></div><div><span style="font-size: 12pt"><span style="line-height: 1.5;">Stef: </span><span style="line-height: 19.5px;">Ok I see what you mean but I think we talk past each other. In my</span><span style="line-height: 19.5px;"> </span><span style="line-height: 19.5px;">opinion, we should not expect the developer to be super good at catching</span><span style="line-height: 19.5px;"> </span><span style="line-height: 19.5px;">things like this, we should instead make it difficult for anyone (that</span><span style="line-height: 19.5px;"> </span><span style="line-height: 19.5px;">is, not-so-good programmers) that simply uses the API to break </span><span style="line-height: 19.5px;">something. The API should be foolproof.</span></span></div><div><span style="line-height: 19.5px;"><span style="font-size: 12pt"><br></span></span></div><div><span style="font-size: 12pt"><span style="line-height: 19.5px;">Me: </span><span style="line-height: 1.5;">I basically agree. Yet, there is no such thing as "fool-proof" API in a dynamic system such as Squeak/Smalltalk. We can only provide tools that help discover mistakes and inconsistencies. ;-) It remains a trade-off. As Chris mentioned before, we have the priority of code readability. DNU + tools still looks like a good trade-off to me.</span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt"><br></span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt">---</span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt"><br></span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt">Well, I am aware that my system knowledge makes it difficult to anticipate some user challenges. Nevertheless, I want to emphasize the fact that the system is full of trade-offs and that the programming language alone cannot solve all issues. Tools matter. </span></span></div><div><span style="font-size: 12pt;line-height: 1.5"><br></span></div><div><span style="font-size: 12pt;line-height: 1.5">Considering memory leaks, they can happen. We need tools to detect them. Maybe domain-specific ones, maybe generic ones.</span></div><div><span style="font-size: 12pt;line-height: 1.5"><br></span></div><div><span style="font-size: 12pt;line-height: 1.5">Considering Squeak's image concept in general: I think we really need more ideas on how to manage object state in the long term. A sole focus on code (artifacts) and bootstrapping techniques seems wrong to me. :)</span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt"><br></span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt">Btw: Tobias just mentioned that the combination of Object >> #userInterfaceTheme and UserInterfaceTheme >> #doesNotUnderstand: kind of implements higher-order messaging (HOM). :D</span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt"><br></span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt">Best,</span></span></div><div><span style="line-height: 1.5;"><span style="font-size: 12pt">Marcel</span></span></div><blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 18.09.2017 11:33:13 schrieb Stéphane Rollandin <lecteur@zogotounga.net>:</p>> I just added a new test for the themes. If the integrity of a theme is <br>> broken, one can just browse all senders of #userInterfaceTheme and <br>> debug. I claim that it is quite simple to diagnose. :)<br><br>I am not too concerned by having the integrity of a theme broken. What I <br>see more likely is objects accumulating silently in the stack until this <br>becomes a problem.<br><br>Stef<br><br>
                        </blockquote></div>