<div dir="auto"></div><div dir="auto">I’m certain we had a good reason to turn loadable shared pools into classes. I think (but I’m not entirely sure) it had to do with ensuring they had been properly initialized before executing code that depended on the constants declared in that pool. Class initialization of a designated class was TSTTCPW. </div><div dir="auto"><br></div><div dir="auto">In other words, your shared pool should indeed be a class. It doesn’t matter for using it, but it does matter for loading it reliably.  </div><div dir="auto"><br></div><div dir="auto">I admit I could be misremembering, it’s been quite a while. </div><div dir="auto"><br></div><div dir="auto">–Vanessa–<br></div><div dir="auto"><br></div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, May 18, 2021 at 05:42 Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de">marcel.taeumel@hpi.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div id="m_-7545725793461642422__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;text-align:left;color:rgb(0,0,0)" dir="ltr">
                                        Hi Christoph,<div style="font-family:Arial"><br></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px">> This error message does not make sense to me since MyPool is not a class > but a pool dictionary.</span><br></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px"><br></span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px">You can use classes and global dictionaries as a shared pool.  From the system's perspective, it does not make any difference as long as #bindingOf: etc. is implemented. See class-side of SharedPool class. If you use a class as a shared pool in another class, the class variables will be shared. :-)</span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px"><br></span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px">***</span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px"><br></span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px">Yet, I think you found a bug. Maybe this was the reason why "FFI-Pools" exists in the first place. So that it can be loaded before "FFI-Kernel" xD</span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px"><br></span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px">Best,</span></div><div style="font-family:Arial"><span style="font-family:Calibri,Helvetica,sans-serif;font-size:16px">Marcel</span></div></div><div id="m_-7545725793461642422__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;text-align:left;color:rgb(0,0,0)" dir="ltr"><div style="font-family:Arial"></div>
                                        <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-top:20px;margin-left:0px;padding-left:10px;min-width:500px;font-family:Arial">
                        <p style="margin-top:10px;font-family:Arial;color:rgb(170,170,170)">Am 18.05.2021 13:21:34 schrieb Thiede, Christoph <<a href="mailto:christoph.thiede@student.hpi.uni-potsdam.de" target="_blank" style="font-family:Arial">christoph.thiede@student.hpi.uni-potsdam.de</a>>:</p><div style="font-family:Arial,Helvetica,sans-serif">
<div id="m_-7545725793461642422divtagdefaultwrapper" style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif;color:rgb(0,0,0)" dir="ltr">
<p style="font-family:Calibri,Helvetica,sans-serif">Hi all,</p>
<p style="font-family:Calibri,Helvetica,sans-serif"><br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif">while loading a class (MyClass) with an attached pool dictionary (MyPool) today using Monticello, I encountered an error from MCPackageLoader which states:</p>
<p style="font-family:Calibri,Helvetica,sans-serif"><br>
</p>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px;min-width:500px;font-family:Calibri,Helvetica,sans-serif">
<p style="font-family:Calibri,Helvetica,sans-serif"></p>
<div style="font-family:Calibri,Helvetica,sans-serif">Warning: This package depends on the following classes:</div>
<p style="font-family:Calibri,Helvetica,sans-serif"></p>
<p style="font-family:Calibri,Helvetica,sans-serif"></p>
<div style="font-family:Calibri,Helvetica,sans-serif">MyPool</div>
<p style="font-family:Calibri,Helvetica,sans-serif"></p>
</blockquote>
<p style="font-family:Calibri,Helvetica,sans-serif"></p>
<div style="font-family:Calibri,Helvetica,sans-serif"><br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif">This error message does not make sense to me since MyPool is not a class but a pool dictionary. But in MCClassDefinition >> #requirements, all #<span style="font-family:Calibri,Helvetica,sans-serif">poolDictionaries are explicitly added to the list of required items. If I exclude them from this list,
 I get a warning "</span><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif">The pool dictionary MyPool does not exist. </span><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif">Do you want it automatically created?" later from Class >> #sharing:. Is this a bug?</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif"><br>
</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif">I also tried to manually add the pool dictionary initialization (<span style="font-family:Calibri,Helvetica,sans-serif">Smalltalk at: #MyPool put: Dictionary new) into the preamble of the package, but this preamble is also evaluated too late (i.e., not before the dependency
 warning is raised. Also, this feels a bit too redundant to me.</span></span><span style="font-family:Calibri,Helvetica,sans-serif"></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif"><span style="font-family:Calibri,Helvetica,sans-serif"><br>
</span></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif"><span style="font-family:Calibri,Helvetica,sans-serif">Do we need a new subclass of MCDefinition to create pool dictionaries automatically? Or could we just remove the confirmation dialog in Class >> #sharing: so that new pools will automatically be created, especially
 in non-interactive CI contexts?</span></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-family:Calibri,Helvetica,sans-serif"><br>
</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-family:Calibri,Helvetica,sans-serif">Best,</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-family:Calibri,Helvetica,sans-serif">Christoph</span></div>
<p style="font-family:Calibri,Helvetica,sans-serif"></p>
<div id="m_-7545725793461642422Signature" style="font-family:Calibri,Helvetica,sans-serif">
<div id="m_-7545725793461642422divtagdefaultwrapper" dir="ltr" style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color:rgb(0,0,0)">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="m_-7545725793461642422Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="m_-7545725793461642422Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div id="m_-7545725793461642422divtagdefaultwrapper" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="m_-7545725793461642422Signature" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="margin:0px;font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><font size="3" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color:rgb(0,0,0)"><span style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><a href="http://www.hpi.de/" rel="noopener noreferrer" id="m_-7545725793461642422LPNoLP" target="_blank" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><font size="2" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color:rgb(66,133,244)"><span id="m_-7545725793461642422LPlnk909538" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><font style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color:rgb(117,123,128)"></font></span></font></a></span></font></div>
</span></div>
</div>
</span></div>
</div>
</div>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><span style="font-size:10pt;font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color:rgb(128,128,128)"></span></div>
</div>
</div>
</div>
</div>
</div></blockquote></div><br>
</blockquote></div></div>