There is a command, System.Free, that will unload a module.  Normally it is not used, only when debugging a module.<div>This is really powerful.  You can use everything in the system as it is, while unloading only 1 module (and any modules that call it).</div>
<div><br></div><div>Oberon is not like anything else you have ever used.  Like Drambuie, people decide they hate it or love it without much uncertainty.  Those of us active on the list like it very much.</div><div><br></div>
<div><br></div><div><br><div class="gmail_quote">On Sun, Dec 23, 2012 at 10:48 AM, Srinivas Nayak <span dir="ltr">&lt;<a href="mailto:sinu.nayak2001@gmail.com" target="_blank">sinu.nayak2001@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Bob,<br>
<br>
Many thanks for making my doubt clear.<br>
Now I am able to see the whole idea.<br>
<div class="im"><br>
    so the contents of<br>
    their variables are still available and other modules can use them<br>
<br>
<br>
</div>However, if somebody unloads the previous module before second command<br>
starts?<br>
Or this case is not possible?<br>
<div class="im HOEnZb"><br>
With thanks and best regards,<br>
<br>
Yours sincerely,<br>
Srinivas Nayak<br>
<br>
Home: <a href="http://www.mathmeth.com/sn/" target="_blank">http://www.mathmeth.com/sn/</a><br>
Blog: <a href="http://srinivas-nayak.blogspot.in/" target="_blank">http://srinivas-nayak.blogspot.in/</a><br>
<br>
<br>
</div><div class="HOEnZb"><div class="h5">Bob Walkden wrote:<br>
&gt; He is describing some ways in which different software components can<br>
&gt; communicate with each other.<br>
&gt;<br>
&gt; In a system such as Unix, you execute a command by typing its name and<br>
&gt; parameter list at the command line, and pressing&lt;Enter&gt;. The command can<br>
&gt; pipe its result to another command, which is executed immediately after the<br>
&gt; first command. On completion of a command it is unloaded from memory and the<br>
&gt; contents of its variables are lost. If you want to use the command&#39;s results<br>
&gt; later, ie not immediately after you have executed the command, then you have<br>
&gt; to store the results in a file.<br>
&gt;<br>
&gt; Oberon commands do not come with a built-in pipe mechanism. However, Oberon<br>
&gt; modules are not automatically unloaded following execution - they remain<br>
&gt; resident in memory until you unload them explicitly, so the contents of<br>
&gt; their variables are still available and other modules can use them, either<br>
&gt; as global variables or by calling one of the module&#39;s procedures. This means<br>
&gt; that you don&#39;t have to use pipes / files to communicate between modules.<br>
&gt;<br>
&gt; Of course if you want to retain the values between system restarts you do<br>
&gt; have to store them in files.<br>
&gt;<br>
&gt; B<br>
&gt;<br>
&gt;&gt; -----Original Message-----<br>
&gt;&gt; From: Srinivas Nayak [mailto:<a href="mailto:sinu.nayak2001@gmail.com">sinu.nayak2001@gmail.com</a>]<br>
&gt;&gt; Sent: 23 December 2012 08:03<br>
&gt;&gt; To: ETH Oberon and related systems<br>
&gt;&gt; Subject: [Oberon] Doubt from Project Oberon book.<br>
&gt;&gt;<br>
&gt;&gt; Dear All,<br>
&gt;&gt;<br>
&gt;&gt;   From the book, Project Oberon, I read,<br>
&gt;&gt;<br>
&gt;&gt; 2.2.2. Commands<br>
&gt;&gt;<br>
&gt;&gt;      The parameter text must refer to objects that exist before command<br>
&gt;&gt;      execution starts and are quite likely<br>
&gt;&gt;      the result of a previous command interpretation. In most operating<br>
&gt;&gt;      systems, these objects are files<br>
&gt;&gt;      registered in the directory, and they act as interfaces between<br>
&gt;&gt;      commands. The Oberon System broadens<br>
&gt;&gt;      this notion; the links between consecutive commands are not<br>
&gt;&gt;      restricted to files, but can be any global<br>
&gt;&gt;      variable, because modules do not disappear from storage after<br>
&gt;&gt;      command termination, as mentioned<br>
&gt;&gt;      above.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; What is the meaning?<br>
&gt;&gt; I couldnt understand this.<br>
&gt;&gt;<br>
&gt;&gt; Also I found that, this book uses technologies/terminologiesof 1980s<br>
&gt;&gt; which make things bit difficult to understand, for us who are used to<br>
&gt;&gt; with latest technologies/terminologies. Example, RAM/Memory is referred<br>
&gt;&gt; as &quot;store&quot;.<br>
&gt;&gt;<br>
&gt;&gt; With thanks and best regards,<br>
&gt;&gt;<br>
&gt;&gt; Yours sincerely,<br>
&gt;&gt; Srinivas Nayak<br>
&gt;&gt;<br>
&gt;&gt; Home: <a href="http://www.mathmeth.com/sn/" target="_blank">http://www.mathmeth.com/sn/</a><br>
&gt;&gt; Blog: <a href="http://srinivas-nayak.blogspot.in/" target="_blank">http://srinivas-nayak.blogspot.in/</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; <a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related<br>
&gt;&gt; systems <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
&gt;<br>
&gt; --<br>
&gt; <a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
&gt; <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
&gt;<br>
<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><font face="&#39;times new roman&#39;, serif">Aubrey McIntosh, Ph.D.<br>211 E. 5th St.<br>Morris MN 56267</font><div><div><span style="line-height:20px;background-color:rgb(255,255,255)"><font face="&#39;times new roman&#39;, serif">(512)-348-7401</font></span></div>
</div><div><div><br></div></div>
</div>