Prepare for beta release.

This commit is contained in:
James Roseborough
2010-05-22 18:23:12 +00:00
parent f146268c47
commit 50739f7cb1
2 changed files with 34 additions and 29 deletions

View File

@@ -17,7 +17,7 @@
Getting Started with LuaJ Getting Started with LuaJ
</h1> </h1>
James Roseborough, Ian Farmer, Version 2.0-alpha1 James Roseborough, Ian Farmer, Version 2.0-beta1
<p> <p>
<small> <small>
Copyright &copy; 2009-2010 Luaj.org. Copyright &copy; 2009-2010 Luaj.org.
@@ -44,17 +44,17 @@ Freely available under the terms of the
<!-- ====================================================================== --> <!-- ====================================================================== -->
<p> <p>
<font color=#800000><em> <font color=#800000><em>
This is an alpha release for a luaj 2.0. The most recent stable release is 1.0.3 This is a beta release for a luaj 2.0. The most recent stable release is 1.0.3
</em></font> </em></font>
<h1>1 - <a name="1">Introduction</a></h1> <h1>1 - <a name="1">Introduction</a></h1>
<h2>Goals of Luaj</h2> <h2>Goals of Luaj</h2>
Luaj is a lua interpreter based on the 5.1.x line of lua with the following goals in mind: Luaj is a lua interpreter based on the 5.1.x line of lua with the following goals in mind:
<ul> <ul>
<li>Java-centric implementation built to use Java features like garbage collection, and class dispatch. <li>Java-centric implementation of lua vm built to leverage standard Java features.
<li>Lightweight to allow for small, fast interpretation of lua bytecode. <li>Lightweight to allow for small, fast interpretation of lua bytecode.
<li>Complete set of libraries and tools for integration into real-world projects.
<li>Multi-platform to be able to run on JME, JSE, or JEE environments. <li>Multi-platform to be able to run on JME, JSE, or JEE environments.
<li>Complete set of libraries and tools for integration into real-world projects.
<li>Dependable due to sufficient unit testing of vm and library features. <li>Dependable due to sufficient unit testing of vm and library features.
</ul> </ul>
@@ -62,11 +62,12 @@ Luaj is a lua interpreter based on the 5.1.x line of lua with the following goal
In addition to the basic goals of luaj, version 2.0 is aimed In addition to the basic goals of luaj, version 2.0 is aimed
at improving on the 1.0 vm in the following aspects. at improving on the 1.0 vm in the following aspects.
<ul> <ul>
<li>Support for compiling lua into Java off-line for JME, and at runtime for JSE. <li>Support for compiling lua bytecode directly into Java bytecode.
<li>Fastest possible bytecode processing for interpreted code. <li>Improve performance of bytecode processing when lua bytecode is used.
<li>More alignment with C API (see <a href="names.csv">names.csv</a> for details) <li>More alignment with C API (see <a href="names.csv">names.csv</a> for details)
<li>Improved class and package naming conventions. <li>Improved class and package naming conventions.
<li>Improved unit tests of core classes. <li>Improved unit tests of core classes.
<li>Improved quality due to major redesign and rewrite of core elements.
</ul> </ul>
<h1>2 - <a name="2">Simple Examples</a></h1> <h1>2 - <a name="2">Simple Examples</a></h1>
@@ -77,7 +78,7 @@ at improving on the 1.0 vm in the following aspects.
From the main distribution directory line type: From the main distribution directory line type:
<pre> <pre>
java -cp lib/luaj-jse-2.0-alpha1.jar lua examples/lua/hello.lua java -cp lib/luaj-jse-2.0-beta1.jar lua examples/lua/hello.lua
</pre> </pre>
<p> <p>
@@ -92,8 +93,8 @@ You should see the following output:
From the main distribution directory line type: From the main distribution directory line type:
<pre> <pre>
java -cp lib/luaj-jse-2.0-alpha1.jar luac examples/lua/hello.lua java -cp lib/luaj-jse-2.0-beta1.jar luac examples/lua/hello.lua
java -cp lib/luaj-jse-2.0-alpha1.jar lua luac.out java -cp lib/luaj-jse-2.0-beta1.jar lua luac.out
</pre> </pre>
<p> <p>
@@ -106,13 +107,14 @@ Luaj can compile to lua bytecode if the bcel library is on the class path. From
<pre> <pre>
ant bcel-lib ant bcel-lib
java -cp lib/luaj-jse-2.0-alpha1.jar;lib/bcel-5.2.jar luajc -s examples/lua -d . hello.lua java -cp &quot;lib/luaj-jse-2.0-beta1.jar;lib/bcel-5.2.jar&quot; luajc -s examples/lua -d . hello.lua
java -cp lib/luaj-jse-2.0-alpha1.jar;. lua -l hello java -cp &quot;lib/luaj-jse-2.0-beta1.jar;.&quot; lua -l hello
</pre> </pre>
<p> <p>
The output <em>hello.class</em> is Java bytecode, should run and produce the same result. The output <em>hello.class</em> is Java bytecode, should run and produce the same result.
There is no runtime dependency on the bcel library, but the compiled classes must be in the class path. There is no runtime dependency on the bcel library,
but the compiled classes must be in the class path at runtime.
<pre> <pre>
</pre> </pre>
@@ -138,7 +140,7 @@ A simple example may be found in
</pre> </pre>
<p> <p>
You must include the library <b>lib/luaj-jse-2.0-alpha1.jar</b> in your class path. You must include the library <b>lib/luaj-jse-2.0-beta1.jar</b> in your class path.
<h2>Run a script in a MIDlet</h2> <h2>Run a script in a MIDlet</h2>
@@ -165,7 +167,7 @@ A simple example may be found in
</pre> </pre>
<p> <p>
You must include the library <b>lib/luaj-jme-2.0-alpha1.jar</b> in your midlet jar. You must include the library <b>lib/luaj-jme-2.0-beta1.jar</b> in your midlet jar.
<p> <p>
An ant script to build and run the midlet is in An ant script to build and run the midlet is in
@@ -226,7 +228,7 @@ The standard use of JSR-233 scripting engines may be used:
All standard aspects of script engines including compiled statements should be supported. All standard aspects of script engines including compiled statements should be supported.
<p> <p>
You must include the library <b>lib/luaj-jse-2.0-alpha1.jar</b> in your class path. You must include the library <b>lib/luaj-jse-2.0-beta1.jar</b> in your class path.
<p> <p>
A working example may be found in A working example may be found in
@@ -264,9 +266,8 @@ Libraries are coded to closely match the behavior specified in
See <a href="http://www.lua.org/manual/5.1/">standard lua documentation</a> for details on the library API's See <a href="http://www.lua.org/manual/5.1/">standard lua documentation</a> for details on the library API's
<p> <p>
The following libraries are loaded in py both <em>JsePlatform.standardGlobals()</em> and <em>JmePlatform.standardGlobals()</em>: The following libraries are loaded by both <em>JsePlatform.standardGlobals()</em> and <em>JmePlatform.standardGlobals()</em>:
<pre> <pre> base
base
coroutine coroutine
io io
math math
@@ -278,14 +279,12 @@ The following libraries are loaded in py both <em>JsePlatform.standardGlobals()<
<p> <p>
The <em>JsePlatform.standardGlobals()</em> globals also include: The <em>JsePlatform.standardGlobals()</em> globals also include:
<pre> <pre> luajava
luajava
</pre> </pre>
<p> <p>
The <em>JsePlatform.debugGlobals()</em> and <em>JsePlatform.debugGlobals()</em> functions produce globals that include: The <em>JsePlatform.debugGlobals()</em> and <em>JsePlatform.debugGlobals()</em> functions produce globals that include:
<pre> <pre> debug
debug
</pre> </pre>
<h3>I/O Library</h3> <h3>I/O Library</h3>
@@ -352,7 +351,7 @@ The following lua script will open a swiing frame on Java SE:
<p> <p>
See a longer sample in <em>src/test/res/swingapp.lua</em> for details, or try running it using: See a longer sample in <em>src/test/res/swingapp.lua</em> for details, or try running it using:
<pre> <pre>
java -cp lib/luaj-jse-2.0-alpha1.jar lua src/test/res/swingapp.lua java -cp lib/luaj-jse-2.0-beta1.jar lua src/test/res/swingapp.lua
</pre> </pre>
<p> <p>
@@ -418,17 +417,23 @@ and LuaForge:
<h2>Main Changes by Version</h2> <h2>Main Changes by Version</h2>
<table cellspacing="10"><tr><td><table cellspacing="4"> <table cellspacing="10"><tr><td><table cellspacing="4">
<tr valign="top"><td>&nbsp;&nbsp;<b>2.0-alpha1</b></td><td><ul> <tr valign="top"><td>&nbsp;&nbsp;<b>2.0-beta1</b></td><td><ul>
<li>All basic bunit tests pass. <li>All basic unit tests pass.
<li>Initial port of all libraries has been done. <li>Initial port of all libraries has been done.
<li>Compile-to-Java based on bcel 5.2. <li>Compile-to-Java based on bcel 5.2 working for unit tests.
</ul></td></tr> </ul></td></tr>
</table> </table>
<h2>Known Issues</h2> <h2>Known Issues</h2>
<ul> <ul>
<li>module() and setfenv() don't work with compiled code <li>module() and setfenv() don't work with closures in compiled chunks
<li>debug code may not be removed by obfuscators <li>debug code may not be removed by obfuscators
<li>not all luajava bugfixes have been ported over <li>lua-to-java bytecode generation can produce incorrect results
<li>weak tables may not release items in all cases
<li>tail calls may not work as expected in some cases
<li>tail calls are not tracked in debug information
<li>using both version 1 and version 2 libraries together in the same java vm has not been tested.
<li>design of default file loading behavior may change.
<li>likely to make changes to support the lua 5.2 API once it is finalized.
</ul> </ul>

View File

@@ -1,2 +1,2 @@
# on the way to version 2.0 # on the way to version 2.0
version: 2.0-alpha1 version: 2.0-beta1