<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>RE: [Modules] Unloading and Conflicting Versions</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 5.50.4807.2300" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2>There's very little info on Agora under <A 
href="http://www.edugraf.ufsc.br">www.edugraf.ufsc.br</A> somewhere (the link is 
probably down, there's a big university strike going on these 
days)</FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2>There's an article we submitted &amp; presented at a workshop at ECOOP'94 
I think (Bologna, Italy). I may be able to find it in some backup I 
have.</FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff size=2>I 
remember sending a hardcopy of the Lindatalk and the Agora papers to Alan Kay 
back in 95, when I was trying to get him to talk at a conference on Educational 
Software in Brazil (unfortunately that didn't work &lt;grin&gt;). So, I must 
have the ps file somewhere, I will check.</FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2>Considering any object as a tuple works too, you just need to customize 
the TupleSpace/#match: I guess, possibly by subclassing. As I said, the 
possibilities are many, it all depends on your goals :-) </FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff size=2>We 
implemented our own serialization stuff, called SaveLoad back then. It was 
student-quality code, though. Little did I know back then that I'd be working on 
serialization stuff again in&nbsp;the future :-(&nbsp; but&nbsp;that's another 
story</FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2>Networking on Smalltalk/V 286 meant C &amp; packet drivers back then. 
Mostly a waste of time. That's when we started small-winsock to have a free 
interface to winsock back then (started to move to ST/V Win). 
</FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff size=2>Too 
bad we had to do so much plumbing when all we wanted was to play more with the 
educational, construtivism stuff &lt;sigh&gt;. </FONT></SPAN></DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=501541319-22082001><FONT face=Arial color=#0000ff 
size=2>marcio</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader><FONT face="Times New Roman" 
  size=2>-----Original Message-----<BR><B>From:</B> 
  squeak-dev-admin@lists.squeakfoundation.org 
  [mailto:squeak-dev-admin@lists.squeakfoundation.org]<B>On Behalf Of</B> 
  Withers, Robert<BR><B>Sent:</B> August 22, 2001 12:48 PM<BR><B>To:</B> 
  'squeak-dev@lists.squeakfoundation.org'<BR><B>Subject:</B> RE: 
  LindaTalk<BR><BR></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=257264016-22082001>Exactly right...I have been enamoured with 
  researching it's capabilities, to a certain extent (parser, unification, 
  trellis).&nbsp; However, the primary reason I picked it up was to use as a 
  distributed communications mechanism, with Store-and-Forward and arbitrary 
  message structures supporting pattern matching.&nbsp; Do you have a link to 
  Agora?&nbsp; The ability to match based on content is a powerful enabler for 
  quickly prototyping communications mechanisms and protocols.&nbsp; I wanted it 
  to be eventful, so a client could register callbacks.&nbsp; It should also be 
  asynchronous, to support concurrency.&nbsp; Finally, I am interested in it 
  being remote, thus requiring object serialization.&nbsp; It supports all but 
  the last at this time.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=257264016-22082001></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=257264016-22082001>The 
  new EventTupleSpace is much more KISS, although depending on an async 
  messaging implementation.&nbsp; it will take this weekend to dig it out and 
  finish the latest refactoring.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=257264016-22082001></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=257264016-22082001>- 
  Rob</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=257264016-22082001></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=257264016-22082001>PS.&nbsp; the most incredible realization, that John 
  Sarkala mentioned to me, was that every object in the squeak environment 
  is&nbsp;a tuple with a particular arity.&nbsp;&nbsp; Would it be possible to 
  implement an Interpreter and ObjectMemory using a 
  TupleSpace?</SPAN></FONT></DIV>
  <BLOCKQUOTE dir=ltr 
  style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
    <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
    size=2>-----Original Message-----<BR><B>From:</B> Marcio Marchini 
    [mailto:mqm@magma.ca]<BR><B>Sent:</B> Wednesday, August 22, 2001 11:47 
    AM<BR><B>To:</B> squeak-dev@lists.squeakfoundation.org<BR><B>Subject:</B> 
    RE: LindaTalk<BR><BR></DIV></FONT>
    <DIV><FONT face=Arial color=#0000ff size=2></FONT>&nbsp;</DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff 
    size=2>It's possible to add all sorts of crazy stuff, but I think one has to 
    have a goal first. Research ? Fun ? Use as a lower layer of something else ? 
    etc</FONT></SPAN></DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff size=2>In 
    my case, I wanted to use it as a base to program actors/agents. I wanted a 
    different form of communication instead of pure message passing. We used it 
    to build Agora, an educational software where games etc could be prototyped. 
    All implemented on Smalltalk/V 286 with Acumen Widgets, using a different 
    metaphor for communication, implemented on top of 
    Lindatalk.</FONT></SPAN></DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff 
    size=2>So, I guess it's necesary to "have a customer" first, to drive the 
    goals &amp; features. And, as usual, KISS.</FONT></SPAN></DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=720034315-22082001><FONT face=Arial color=#0000ff 
    size=2>marcio</FONT></SPAN></DIV>
    <BLOCKQUOTE dir=ltr 
    style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
      <DIV class=OutlookMessageHeader><FONT face="Times New Roman" 
      size=2>-----Original Message-----<BR><B>From:</B> 
      squeak-dev-admin@lists.squeakfoundation.org 
      [mailto:squeak-dev-admin@lists.squeakfoundation.org]<B>On Behalf Of</B> 
      Rob Withers<BR><B>Sent:</B> August 22, 2001 3:30 AM<BR><B>To:</B> 
      squeak-dev@lists.squeakfoundation.org<BR><B>Subject:</B> 
      LindaTalk<BR><BR></FONT></DIV>
      <DIV><FONT face=Arial size=2>Yes, it has been educational for me.&nbsp; I 
      initially tore it apart pretty badly, then went back and only changed just 
      a few things.&nbsp; The match: algorithm and added a collection api.&nbsp; 
      The new EventTupleSpace, which is not in the version on the CD, uses an 
      async message sending mechanism to generate events during access (read, 
      take, write, scan).</FONT></DIV>
      <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
      <DIV><FONT face=Arial size=2>I looked briefly at unification, in Lisp, to 
      attempt to bring this to LindaTalk, but I quickly ran out of steam.&nbsp; 
      Another idea was expressed where we can use a TupleSpace as a parser, 
      adding token rules and grammar productions, then streaming input into the 
      space.&nbsp; I believe it would just act as a state machine, where matches 
      for particular productions would transition the parser state, allowing 
      other productions to be matched.&nbsp; I was to the point where I thought 
      there might be a context tuple, which contains the current state,&nbsp; 
      and it would be taken, modified, then written, by the productions (eval 
      actions).&nbsp; It's complicated!</FONT></DIV>
      <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
      <DIV><FONT face=Arial size=2>Welcome home!&nbsp; ;-)</FONT></DIV>
      <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
      <DIV><FONT face=Arial size=2>Rob</FONT></DIV>
      <BLOCKQUOTE dir=ltr 
      style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
        <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
        <DIV 
        style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
        <A title=mqm@magma.ca href="mailto:mqm@magma.ca">Marcio Marchini</A> 
        </DIV>
        <DIV style="FONT: 10pt arial"><B>To:</B> <A 
        title=squeak-dev@lists.squeakfoundation.org 
        href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.squeakfoundation.org</A> 
        </DIV>
        <DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, August 22, 2001 
        1:02 AM</DIV>
        <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [Modules] Unloading 
        and Conflicting Versions</DIV>
        <DIV><BR></DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2>It's nice to see LindaTalk surviving all these years, in one way 
        or another... :-)</FONT></SPAN></DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2>Hopefully I'll get around to doing more Squeak from now on, we'll 
        see. I'll then take a look at it ;-)</FONT></SPAN></DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2>Keep up the good work !!</FONT></SPAN></DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV><SPAN class=894095704-22082001><FONT face=Arial color=#0000ff 
        size=2>marcio</FONT></SPAN></DIV>
        <BLOCKQUOTE dir=ltr 
        style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
          <DIV class=OutlookMessageHeader><FONT face="Times New Roman" 
          size=2>-----Original Message-----<BR><B>From:</B> <A 
          href="mailto:squeak-dev-admin@lists.squeakfoundation.org">squeak-dev-admin@lists.squeakfoundation.org</A> 
          [mailto:squeak-dev-admin@lists.squeakfoundation.org]<B>On Behalf 
          Of</B> Withers, Robert<BR><B>Sent:</B> August 21, 2001 10:41 
          PM<BR><B>To:</B> 
          'squeak-dev@lists.squeakfoundation.org'<BR><B>Subject:</B> RE: 
          [Modules] Unloading and Conflicting Versions<BR><BR></FONT></DIV>
          <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
          class=409214302-22082001>That's where I saw it.&nbsp; Thanks, 
          Marcio.&nbsp; By the way, did you notice that LindaTalk is on the new 
          Squeak CD?&nbsp; I have many changes to it, mainly the EventTupleSpace 
          and recursive tuple matching, but it isn't quite ready.&nbsp; I can 
          send it to you if you would like.</SPAN></FONT></DIV>
          <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
          class=409214302-22082001></SPAN></FONT>&nbsp;</DIV>
          <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
          class=409214302-22082001>cheers,</SPAN></FONT></DIV>
          <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
          class=409214302-22082001>Rob</SPAN></FONT></DIV>
          <BLOCKQUOTE dir=ltr 
          style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
            <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
            size=2>-----Original Message-----<BR><B>From:</B> Marcio Marchini 
            [mailto:marcio@bedarra.com]<BR><B>Sent:</B> Tuesday, August 21, 2001 
            2:55 PM<BR><B>To:</B> Withers, Robert; 
            squeak-dev@lists.squeakfoundation.org<BR><B>Cc:</B> 
            modsqueak@bluefish.se<BR><B>Subject:</B> RE: [Modules] Unloading and 
            Conflicting Versions<BR><BR></DIV></FONT>
            <DIV><FONT face=Arial color=#0000ff size=2><A 
            href="http://swiki.squeakfoundation.org/squeakfoundation/31">http://swiki.squeakfoundation.org/squeakfoundation/31</A></FONT></DIV>
            <DIV><FONT face=Arial color=#0000ff size=2></FONT>&nbsp;</DIV>
            <DIV><SPAN class=705445418-21082001><FONT face=Arial color=#0000ff 
            size=2>marcio</FONT></SPAN></DIV>
            <BLOCKQUOTE dir=ltr 
            style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
              <DIV class=OutlookMessageHeader><FONT face="Times New Roman" 
              size=2>-----Original Message-----<BR><B>From:</B> Withers, Robert 
              [mailto:rwithers@quallaby.com]<BR><B>Sent:</B> August 21, 2001 
              2:21 PM<BR><B>To:</B> 
              'squeak-dev@lists.squeakfoundation.org'<BR><B>Cc:</B> 
              modsqueak@bluefish.se<BR><B>Subject:</B> RE: [Modules] Unloading 
              and Conflicting Versions<BR><BR></FONT></DIV>
              <P><FONT size=2>Dave, could you please repost these links?&nbsp; I 
              couldn't find them in the squeak ML archives.</FONT> </P>
              <P><FONT size=2>thank you,</FONT> <BR><FONT size=2>Rob</FONT> </P>
              <P><FONT size=2>&gt; -----Original Message-----</FONT> <BR><FONT 
              size=2>&gt; From: Dave [<A 
              href="mailto:dave@bedarra.com">mailto:dave@bedarra.com</A>]</FONT> 
              <BR><FONT size=2>&gt; Sent: Monday, August 20, 2001 9:06 PM</FONT> 
              <BR><FONT size=2>&gt; To: Les Tyrrell</FONT> <BR><FONT size=2>&gt; 
              Cc: squeak-dev@lists.squeakfoundation.org; 
              modsqueak@bluefish.se</FONT> <BR><FONT size=2>&gt; Subject: Re: 
              [Modules] Unloading and Conflicting Versions</FONT> <BR><FONT 
              size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT 
              size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT 
              size=2>&gt; 1. The mechanism for unloading is indeed a good deal 
              more complex than</FONT> <BR><FONT size=2>&gt; loading and was one 
              of the throny problems OTI had to address in</FONT> <BR><FONT 
              size=2>&gt; building embedded Smalltalk and Java. </FONT><BR><FONT 
              size=2>&gt; </FONT><BR><FONT size=2>&gt; Perhaps the issue of 
              unloading is something to be deferred until after</FONT> <BR><FONT 
              size=2>&gt; the basic module and component mechanisms are defined 
              and tested? </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT 
              size=2>&gt; 2. To my knowledge the only existing system that 
              supports current</FONT> <BR><FONT size=2>&gt; execution of 
              multiple versions classes/methods is MS.NET with their</FONT> 
              <BR><FONT size=2>&gt; assemblies. This itself gets problematic 
              however if you want to run</FONT> <BR><FONT size=2>&gt; shared 
              assemblies. I posted the references earlier for those 
              </FONT><BR><FONT size=2>&gt; interested</FONT> <BR><FONT 
              size=2>&gt; in the problem.&nbsp; </FONT><BR><FONT size=2>&gt; 
              </FONT><BR><FONT size=2>&gt; Regards,</FONT> <BR><FONT size=2>&gt; 
              Dave</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; 
              </FONT><BR><FONT size=2>&gt; Les Tyrrell wrote:</FONT> <BR><FONT 
              size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; &gt; ----- Original 
              Message -----</FONT> <BR><FONT size=2>&gt; &gt; From: Dan Moniz 
              &lt;dnm@pobox.com&gt;</FONT> <BR><FONT size=2>&gt; 
              &gt;&nbsp;&nbsp; &gt; I'm imagining that when you file in a 
              ChangeSet (let's </FONT><BR><FONT size=2>&gt; say Foo.cs)</FONT> 
              <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; &gt; into your image 
              (Bar.image), your image is writing out </FONT><BR><FONT 
              size=2>&gt; information to</FONT> <BR><FONT size=2>&gt; 
              &gt;&nbsp;&nbsp; &gt; it's Bar.changes file that reflect the 
              things Foo.cs is </FONT><BR><FONT size=2>&gt; doing to your</FONT> 
              <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; &gt; image. Then, to back 
              out, you could use a currently </FONT><BR><FONT size=2>&gt; 
              fictional "Undo"</FONT> <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; 
              &gt; feature which would allow you to back up steps as recorded 
              in</FONT> <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; &gt; 
              Bar.changes</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT 
              size=2>&gt; &gt; There are a few things that would need to be done 
              when </FONT><BR><FONT size=2>&gt; unloading a module.&nbsp; 
              For</FONT> <BR><FONT size=2>&gt; &gt; one, you would like a rapid 
              way of gc'ing or otherwise </FONT><BR><FONT size=2>&gt; mutating 
              any instances</FONT> <BR><FONT size=2>&gt; &gt; defined by that 
              module.&nbsp; Then, you will want a rapid way of </FONT><BR><FONT 
              size=2>&gt; removing the</FONT> <BR><FONT size=2>&gt; &gt; 
              definitions found in that module.&nbsp; ChangeSets are no 
              </FONT><BR><FONT size=2>&gt; better, and no worse, at</FONT> 
              <BR><FONT size=2>&gt; &gt; doing this than any other scheme.&nbsp; 
              There is no need to </FONT><BR><FONT size=2>&gt; iterate over a 
              change</FONT> <BR><FONT size=2>&gt; &gt; log- the ChangeSet 
              already has an accounting of what it has </FONT><BR><FONT 
              size=2>&gt; modified.&nbsp; So would</FONT> <BR><FONT size=2>&gt; 
              &gt; an OasisModule, or a Collage Layer.</FONT> <BR><FONT 
              size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; &gt; However, while 
              associating a ChangeSet with either a </FONT><BR><FONT size=2>&gt; 
              Collage Layer or an</FONT> <BR><FONT size=2>&gt; &gt; OasisModule 
              seems reasonable to me, trying to warp </FONT><BR><FONT 
              size=2>&gt; ChangeSet into becoming more</FONT> <BR><FONT 
              size=2>&gt; &gt; like these things does not seem 
              reasonable.</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT 
              size=2>&gt; &gt;&nbsp;&nbsp; &gt; This may necessitate 
              modifications to userland tools to </FONT><BR><FONT size=2>&gt; 
              deal with</FONT> <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; &gt; 
              .changes file, and perhaps some modification to the 
              information</FONT> <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; &gt; 
              and/or format of information stored in .changes files, 
              </FONT><BR><FONT size=2>&gt; but I don't</FONT> <BR><FONT 
              size=2>&gt; &gt;&nbsp;&nbsp; &gt; think it would be too drastic 
              and I don't think it </FONT><BR><FONT size=2>&gt; would have 
              much</FONT> <BR><FONT size=2>&gt; &gt;&nbsp;&nbsp; &gt; with the 
              implementation of ChangeSets themselves.</FONT> <BR><FONT 
              size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; &gt; What's wrong 
              with the idea of implementing the roles of a </FONT><BR><FONT 
              size=2>&gt; Components and</FONT> <BR><FONT size=2>&gt; &gt; 
              Modules?&nbsp; In Oasis, a Module is a component that keeps 
              </FONT><BR><FONT size=2>&gt; track of Shared Globals,</FONT> 
              <BR><FONT size=2>&gt; &gt; Undeclared variables, Pools, and a few 
              other things.&nbsp; </FONT><BR><FONT size=2>&gt; ChangeSets don't 
              do this.</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT 
              size=2>&gt; &gt; The role of a changeset is to keep track of 
              changes... the </FONT><BR><FONT size=2>&gt; role of an</FONT> 
              <BR><FONT size=2>&gt; &gt; OasisModule is to act as a place in 
              which those changes </FONT><BR><FONT size=2>&gt; take 
              effect.&nbsp; These are</FONT> <BR><FONT size=2>&gt; &gt; separate 
              roles, so I would not reccomend mixing them.&nbsp; 
              </FONT><BR><FONT size=2>&gt; ChangeSets are just fine</FONT> 
              <BR><FONT size=2>&gt; &gt; the way they are, at least in the sense 
              of the scoping of </FONT><BR><FONT size=2>&gt; their 
              responsibilities</FONT> <BR><FONT size=2>&gt; &gt; to tracking 
              changes, and no more.</FONT> <BR><FONT size=2>&gt; &gt; 
              </FONT><BR><FONT size=2>&gt; &gt; Using ChangeSets as a means of 
              identifying chunks of code </FONT><BR><FONT size=2>&gt; to turn 
              into a package</FONT> <BR><FONT size=2>&gt; &gt; is another issue, 
              as far as I know there is nothing wrong with that.</FONT> 
              <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; &gt; - 
              les</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; 
              </FONT></P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>