<title css='default.css'>Changes</title>

<section name=js13 title="JavaScript 1.3 changes from EcmaScript">

Resin 1.0 follows most of the additions Netscape's JavaScript 1.3 makes
to EcmaScript.  It does not add the changes to the function
<code/arguments/> variable.

<ul>
<li>Literals</li>
<ul>
    <li>Added <a href='regexp.html'>regular expression</a> literals.</li>
</ul>
<li>Expressions</li>
<ul>   
    <li>Added <a href=ops.html#seq>===</a> and <a
        href=ops.html#sne>!==</a>, the strict equality operators.</li>
</ul>
<li>Statements</li>
<ul>   
    <li>Added <a href=statements.html#do>do ... while</a>.</li>
    <li>Added <a href=statements.html#label>labeled statements</a>.</li>
    <li>Added <a href=statements.html#switch>switch</a>.</li>
</ul>
<li>Object Object</li>
<ul>   
    <li>Added <a href=objobj.html#toSource>toSource</a>.</li>
    <li>Added <a href=objobj.html#unwatch>unwatch</a>.</li>
    <li>Added <a href=objobj.html#watch>watch</a>.</li>
</ul>
<li>Array Object</li>
<ul>   
    <li>Added <a href=arrayobj.html#concat>concat</a>.</li>
    <li>Added <a href=arrayobj.html#pop>pop</a>.</li>
    <li>Added <a href=arrayobj.html#push>push</a>.</li>
    <li>Added <a href=arrayobj.html#shift>shift</a>.</li>
    <li>Added <a href=arrayobj.html#unshift>unshift</a>.</li>
    <li>Added <a href=arrayobj.html#slice>slice</a>.</li>
    <li>Added <a href=arrayobj.html#splice>splice</a>.</li>
</ul>
<li>Function Object</li>
<ul>   
    <li>Added <a href=funobj.html#apply>apply</a>.</li>
    <li>Added <a href=funobj.html#call>call</a>.</li>
</ul>
<li>String Object</li>
<ul>   
    <li>Added <a href=stringobj.html#concat>concat</a>.</li>
    <li>Added <a href=stringobj.html#match>match</a>.</li>
    <li>Added <a href=stringobj.html#search>search</a>.</li>
    <li>Added <a href=stringobj.html#slice>slice</a>.</li>
    <li>Added <a href=stringobj.html#substr>substr</a>.</li>
</ul>
<li>Added <a href=regexpobj.html>RegExp Object</a></li>
<li>Added <a href=wrap.html>Packages Object</a></li>
</ul>
 
</section>

<section name=resin10 title="Resin 1.0 changes from JavaScript 1.3">

The <resin/> changes from JavaScript 1.3 fall under the following categories.
<ol>
<li>Enhancements allowing scripts to more clearly express 
    their intensions.</li>
<li>Enhancements allowing scripts robustly handle exceptions and execute in
    a threaded environment.</li>
<li>Library changes following Java APIs when they conflict with 
    JavaScript.</li>
</ol>

Resin will faithfully execute scripts restricting themselves to EcmaScript.

<ul>
<li>Literals</li>
<ul><li>Added <a href=literals.html#interpulate>interpulated strings</a></li>
    <li>Added <a href=literals.html#multiline>multiline strings</a></li>
    <li><a href=regexp.html>regular expressions</a> support Perl5 syntax.</li>
</ul>
<li>Statements</li>
<ul><li>Added <a href=statements.html#class>class</a></li>
    <li>Added <a href=statements.html#catch>catch</a></li>
    <li>Added <a href=statements.html#finally>finally</a></li>
    <li>Added <a href=statements.html#throw>throw</a></li>
    <li>Added <a href=statements.html#synchronize>synchronize</a></li>
    <li>Added <a href=statements.html#import>import</a></li>
</ul>
<li>Expressions</li>
<ul><li>`<code/if (a = 3)/>' is no longer allowed.  Assigments used as 
        truth values must have an extra pair of parentheses.</li>
    <li><code/fun\n(2, 3, 4)/> automatically inserts a semicolon at
        the newline.</li>
    <li><a href='globalobj.html#eval'>eval</a> is a keyword.  The only 
        practical difference is that scripts cannot assign <code/eval/> 
        to a variable.</li>
    <li><a href='functions.html#arguments'>arguments</a> no longer has the
        <code/caller/> property.</li>
</ul>
<li>Libraries</li>
<ul><li>The <a href=file.html>file</a> and <a href=stream.html>stream</a> 
        model is completely different from JavaScript 1.3.</li>
    <li>The <a href=dbpool.html>database</a> model fullows JDBC, differing from
        JavaScript 1.3</li>
    <li>The session model fullows JSDK, differing from JavaScript 1.3</li>
</ul>
</ul>

</section>
