<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Using the Papers as foreign art is a pretty good Idea :)<div>But doesn't that clash with the fact that you are both writer of the papers and inventor of the patent ^^?</div><div><br></div><div>Cheers Jan<br><div><div>On Sep 25, 2011, at 21:03 PM, David Ungar wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">













<div style="background-color: #fff;">
<span style="display:none"> </span>



    <div id="ygrp-text"><div><br class="webkit-block-placeholder"></div><div>I'll have to read it, but you could check the dates compared to the paper pub dates. It may be that the dates are such that Self VM tech, as published could not be covered by this patent. <br><br>-- David (tapped out on my iPhone; blame it for any typoze;-)</div><div><br>On Sep 25, 2011, at 11:37 AM, Jan-Paul Bultmann <<a href="mailto:janpaulbultmann@me.com">janpaulbultmann@me.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>




<span> </span>



    <div id="ygrp-text"><p>Hm, to our understanding for example <a href="http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-adv.htm&r=1&f=G&l=50&d=PALL&S1=06085035&OS=PN/06085035&RS=PN/06085035">#6085035</a> covers technology used in Self as well :/</p><div><br></div><div>Cheers Jan<br><div><div>On Sep 25, 2011, at 20:25 PM, David Ungar wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">













<div style="background-color: #fff;">
<span> </span>



    <div id="ygrp-text"><div><br class="webkit-block-placeholder"></div><div>The Self VM work was done jointly at Sun and Stanford. I would be surprised if any Sun patents involved it. The Sun patents were done later, as we were thinking about Java. <br><br>-- David (tapped out on my iPhone; blame it for any typoze;-)</div><div><br>On Sep 25, 2011, at 11:22 AM, Jan-Paul Bultmann <<a href="mailto:janpaulbultmann@me.com"></a><a href="mailto:janpaulbultmann@me.com">janpaulbultmann@me.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>




<span> </span>



    <div id="ygrp-text"><p><br></p><div><div>On Sep 25, 2011, at 19:51 PM, Jecel Assumpcao Jr. wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">













<div style="background-color: rgb(255, 255, 255);">
<span> </span>



    <div id="ygrp-text"><p>Jan-Paul,<br>
<br>
It is very important to note that some words are used in different ways<br>
in different projects. Otherwise you can have some very confusing<br>
discussions.<br>
<br>
"Traits" in Self come from Adele Goldberg's teaching scheme for early<br>
Smalltalk where she purposely used different words than the standard<br>
jargon to informally introduce ideas before moving on to the actual<br>
details for the language. So she would first get people to think about<br>
which "traits" an object might have before showing them the "class" that<br>
implemented the idea.<br>
<br>
Beyond "traits", Self also has "mixins". These names are just<br>
conventions and at the language level we just have parent objects, but<br>
the different names indicate the different intent behind these objects.<br>
<br>
Several languages, including Strongtalk which evolved from Self, have<br>
"mixins" as an important feature. So when the research group at Bern<br>
decided to add to Squeak a modified version of "mixins", they decided to<br>
use a different name so their changes wouldn't be overlooked. That is<br>
what "traits" in Squeak or Pharo are. This has been copied in several<br>
other projects and languages and so is currently what is normally<br>
understood by the term. This is, however, different from what is<br>
described in the paper that David indicated.<br>
<br>
Back when JIT implementations were less common, one term that caused a<br>
lot of confusion was "compiler". For Smalltalk-80 the term meant the<br>
source the bytecode translation program while for Self that was called<br>
the "parser" and "compiler" meant the bytecode to native machine code<br>
translator instead.<br>
<br>
> Btw, Davidmay I humbly ask you on your thoughts on Io as a language ^^?<br>
> Another grab bag one, or maybe a worthy successor to Self if enhanced<br>
> with its Environment ;)?<br>
<br>
I am not David (either one ;-) , but I have been a part of the Io<br>
community since the very beginning. This is another case of the same<br>
words being used differently and causing confusion. Io comes from the<br>
Newtonscript tradition of "prototypes", not the Self style. Even Steve<br>
Dekorte was confused about this for a very long time, and I can't blame<br>
him since when I first read "The Power of Simplicity" paper I also<br>
imagined something like Io rather than what Self actually is. But those<br>
ideas are actually from Henry Lieberman's 1986 "Using Prototypical<br>
Objects to Implement Shared Behavior in Object-Oriented Systems" paper<br>
instead.<br>
<br></p></div></div></blockquote></div>Yeah the naming clash is amazing especially when one works with projects that used terms before everybody else did^^<div>Thanks for the insight on the different origins :D</div><div><br><blockquote type="cite"><div style="background-color: rgb(255, 255, 255);"><div id="ygrp-mlmsg"><div id="ygrp-msg"><div id="ygrp-text"><p>
While I like Io, it has never had the kind of implementation technology<br>
that Self has always had and which recently has also come to Javascript.<br></p></div></div></div></div></blockquote>Yeah we're kinda working on that with the recent acute implementation^^</div><div>One problem with this is though that Oracle still holds a lot of Davids original patents so were a bit hesitant about implementing all the power of Self.</div><div>Most of them run out in 2014 I think, there are a lot of projects though that are bold enough to simply implement them, but with Oracles recent suing happines its kinda difficult ^^</div><div><br><blockquote type="cite"><div style="background-color: rgb(255, 255, 255);"><div id="ygrp-mlmsg"><div id="ygrp-msg"><div id="ygrp-text"><p>
That community is actually smaller and currently less active than the<br>
Self one, so I wouldn't expect world domination from that direction any<br>
time soon.<br></p></div></div></div></div></blockquote>Smaller yes, less active no. :) You should really visit the #io channel on <a href="http://irc.freenode.net/"></a><a href="http://irc.freenode.net/"></a><a href="http://irc.freenode.net/">irc.freenode.net</a></div><div><br></div><div>Io has the advantage that it is conceptually simpler than Self, so there are more concepts that can arise out of a small base language, like resends and annotations.</div><div>There are vastly parts missing though like Morphic and the Image. But it has a far superior concurrency model.</div><div>Interestingly we can get a Self like look with acute ^^ by encouraging small number of arguments and having a single arg syntax.</div><div>list(1,2,3) at:1 data</div><div>list(1,2,3) at:1 put:5</div><div>As at: returns a listIndex.</div><div><br></div><div>Currently we are working on a VM for Prototype languages, it could be interesting to combine the small working force of the Self and Io
 communities.</div><div>When lookup is just a slot on
 Objects
 (as we plan to do it) it would be
 trivial to implement different Inheritance models and thus support both languages :) the rest is just syntax^^</div><div><br></div><div>Cheers Jan</div><div><blockquote type="cite"><div style="background-color: rgb(255, 255, 255);"><div id="ygrp-mlmsg"><div id="ygrp-msg"><div id="ygrp-text"><p>
<br>
-- Jecel<br>
<br>
</p>

    </div>
     

    

</div>



<!-- end group email -->

</div></div></blockquote></div><br><div><br class="webkit-block-placeholder"></div>

    </div>
     

    





<!-- end group email -->

</div></blockquote><div><br class="webkit-block-placeholder"></div>

    </div>
     

    

</div>



<!-- end group email -->

</blockquote></div><br></div><div><br class="webkit-block-placeholder"></div>

    </div>
     

    





<!-- end group email -->

</div></blockquote><div><br class="webkit-block-placeholder"></div>

    </div>
     

    

</div>



<!-- end group email -->

</blockquote></div><br></div></body></html>