<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi y’all.</div><div class="">I’ve merged my logging and transporterTrees code with the master on the GitHub repo, so any improvements/suggestions etc should work from that.</div><div class="">My plan this week is to get the self webserver code up to date with the changes in the main Self repo.</div><div class="">Cheers, Russell</div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On 1 Dec 2014, at 10:24 am, Russell Allen <a href="mailto:mail@russell-allen.com" class="">mail@russell-allen.com</a> [self-interest] <<a href="mailto:self-interest@yahoogroups.com" class="">self-interest@yahoogroups.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div id="ygrp-mlmsg" style="font-size: 13px; font-family: Arial, helvetica, clean, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); position: relative;" class=""><div id="ygrp-msg" style="line-height: 1.22em; z-index: 1;" class=""><div id="ygrp-text" style="line-height: 1.22em; font-family: Georgia;" class=""><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">This week I've been looking at the transporter trees code.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">I have committed a slightly more robust version of transporter trees - the code is in the transporter-trees branch of the main<span class="Apple-converted-space"> </span><a href="http://github.com/russellallen/self" style="line-height: 1.22em; font-family: Verdana;" class="">github.com/russellallen/self</a><span class="Apple-converted-space"> </span>repo. Not VM changes are required, so just "git checkout transporter-trees" and then build a snapshot to check it out.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">Usage is as in the<span class="Apple-converted-space"> </span><a href="http://github.com/russellallen/self-webserver" style="line-height: 1.22em; font-family: Verdana;" class="">github.com/russellallen/self-webserver</a><span class="Apple-converted-space"> </span>repo:<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">modules init<span class="Apple-converted-space"> </span><br style="line-height: 1.22em;" class="">registerTree: 'org_selflanguage_webserver'<br style="line-height: 1.22em;" class="">At: 'path/to/org_selflanguage_webserver'.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">bootstrap read: 'webserver'<br style="line-height: 1.22em;" class="">InTree: 'org_selflanguage_webserver'.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">Important considerations: module names are globally unique (that is, two modules called 'webserver' in different trees are considered the same module and will overwrite each other). The tree name itself should also be globally unique - that is it is not possible to have two trees with the same name in a single Self world.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">The advantages of this over a simple symbolic link to a separate filesystem tree is we can do overlays - if you want special string behaviour, then put it in your tree in my_tree/core/string.self and it will override as expected.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">Modules that import subparts will try to import them from the same tree by default.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">Also bumped up versions on relevant modules, and reworked worldBuilder.self so that it isn't a module.<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">That way code can check for the core version in a module preFileIn method as so:<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">modules allCore version >= (modules init moduleVersion copyOn: '1.0.0')<span class="Apple-converted-space"> </span><br style="line-height: 1.22em;" class="">ifFalse: [log warning: 'Ancient version of Self!']<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">I'm not sure if I'm completely happy with this yet. I have two main issues.<span class="Apple-converted-space"> </span><br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">1) should I reversion all the modules in the system to get rid of the residual $SUN-Revision$ stuff? At the moment I just work round it.<br style="line-height: 1.22em;" class="">2) should module names continue to be a single global namespace? Won't this lead to us going down the icky Squeak path of having initials everywhere? eg RAClassName? Or is it less important because although modules must be globally unique, object paths from the lobby don't have to be?<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class="">:) Russell<br style="line-height: 1.22em;" class=""><br style="line-height: 1.22em;" class=""></p></div><div style="line-height: 1.22em; color: rgb(255, 255, 255); height: 0px;" class=""></div></div></blockquote></div><br class=""></body></html>