<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-01-19 15:41 GMT+01:00 Craig Latta <span dir="ltr">&lt;<a href="mailto:craig@netjam.org" target="_blank">craig@netjam.org</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
     Okay, I&#39;ll add both of the execution-driven imprinters to the<br>
repository. They&#39;re called &quot;active&quot; and &quot;passive&quot; imprinting.<br>
<br>
     Active imprinting is directed by the system that initially has the<br>
desired code. An ActiveImprintingServer has clients in the systems which<br>
will receive the code. Every time the server system runs a method in a<br>
certain process, it imprints that method onto each of the clients. One<br>
use case for this is giving the code of a demo to an audience as you run it.<br>
<br>
     Passive imprinting is directed by the system that wants the code.<br>
The target system makes a remote-messaging connection to a system which<br>
has the code, and runs an expression which will use the code. Every time<br>
a method is missing from the target system (in any process), the target<br>
system requests the missing method from the provider system, installs<br>
it, and retries running that method.<br>
<br>
     I have imprinted the exception-handling system, the compiler, and<br>
the class builder with both approaches.<br>
<br>
<br></blockquote><div><br></div><div>In this scheme, something is striking me.<br></div><div>Some images share some code (classes, compiledMethods)<br>But what about code mutations/updates?<br><br>Without such mutations, is it still Smalltalk?<br><br></div><div>Without active imprinting, such mutations might not be obvious to propagate (for example a subclass now overrides a message of super)<br></div><div><br></div><div>And since you import class builder and compiler in the target, on what purpose? Is the target going to change a class locally? What if it then imports incompatible methods from provider? Or is the goal to just replicate some mutations from the provider?<br><br></div><div>Maybe the scheme is more interesting for deployment of static code, but I&#39;m curious to know if ever live updates would still be possible...<br></div><div><br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
     thanks,<br>
<br>
-C<br>
<div class=""><div class="h5"><br>
--<br>
Craig Latta<br>
<a href="http://netjam.org" target="_blank">netjam.org</a><br>
<a href="tel:%2B31%20%20%206%202757%207177" value="+31627577177">+31   6 2757 7177</a> (SMS ok)<br>
<a href="tel:%2B%201%20415%20%20287%203547" value="+14152873547">+ 1 415  287 3547</a> (no SMS)<br>
<br>
<br>
</div></div></blockquote></div><br></div></div>