<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p><br /></p>
<p>-------- Original Message --------</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th align="right" valign="baseline" nowrap="nowrap">Subject:</th>
<td>Re: [Cuis-dev] Namespaces?</td>
</tr>
<tr>
<th align="right" valign="baseline" nowrap="nowrap">Date:</th>
<td>2019-05-13 12:59</td>
</tr>
<tr>
<th align="right" valign="baseline" nowrap="nowrap">From:</th>
<td>ken.dickey@whidbey.com</td>
</tr>
<tr>
<th align="right" valign="baseline" nowrap="nowrap">To:</th>
<td>Luciano Notarfrancesco <luchiano@gmail.com></td>
</tr>
</tbody>
</table>
<p><br /></p>
<!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><span style="white-space: nowrap;">On 2019-05-13 09:16, Luciano Notarfrancesco wrote:</span><br /> <br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">Oh, I haven't thought about doing that trick with Symbol, seems to make a lot of sense. Maybe making Symbols unique within a package instead of globally would be enough. Still there might be a lot of work to do in order to make all tools work as expected, not sure. I'll keep this technique in mind and maybe try some experiments, thanks!</blockquote>
<br /> One thought is to have a "package namespace variable" which can be set in the code browser.<br /> <br /> The default would be #Smalltalk (and associated intern dictionary), but setting a package namespace could cause all code to be recompiled to use the package's internal intern dictionary. The code browser would make new method names be interned in the current package namespace (-> use package intern dictionary).<br /> <br /> <span style="white-space: nowrap;">Have to be careful with inheritance.</span><br /> <br /> I would recommend symbols not found resolve to the parent namespace (DAG), to allow subclassing to work as expected. Might need to change lookup slightly by subclassing Symbol.<br /> <br /> <span style="white-space: nowrap;">$0.02,</span><br /> <span style="white-space: nowrap;">-KenD</span><br /> <br /> [PS: Oh, yes. AOS/S# used something called 'scopes' to allow multiple versions of code to co-exist. You might ask Dave Simmons about this..]</div>
</body></html>