[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: [ANN] Jill - Java Implementation of Lua Language.
- From: David Jones <drj@...>
- Date: Thu, 10 Dec 2009 15:42:38 +0000
On 10 Dec 2009, at 14:04, David Jones wrote:
[more from me in a follow-up, this is the "approved" announcement]
Ravenbrook Limited and Nokia Corporation are pleased to announce
the open source project Jill:
I have to say that personally I am very pleased that this has become
For those with long memories on the list, this is the project that
Paul Hudson (and me in my pobox.com disguise) has occasionally
mentioned over the past few years when someone asks "is there an
implementation of Lua that can run on pure JME". It became rather
frustrating to say "there is one that we wrote, but it got buried by
the collapse of a company".
It was written by me and Mark Tillotson at Ravenbrook, slightly more
than 3 years ago, for a commercial client. Who were quite happy with
it, until they went bust. At the time I think we tried to contact
the receivers to see if we could do anything with it, but no joy.
Then fast forward to 2009, and the rumour mill said that some of our
friends might own the code. They didn't, but they knew who did
(namely, Nokia). And with some help from some people inside Nokia we
were able to get Nokia to open source it.
Jill (Java Implementation of Lua Language) is a complete
implementation of Lua 5.1 in pure Java. It is intended to be used
on mobile platforms, JME, but also runs on JSE. The source code is
owned by Nokia and made available under an open source licence (see
below). Jill was originally written by Ravenbrook (under contract
to a different company) and we will manage the open source project
I say "we will manage the open source project at
jillcode.googlecode.com" but that just means I'll keep an eye on the
googlecode project. We're fully open to community contributions and
warmly welcome everything you good people in the Lua community have
to offer. It's been 3 years since I've looked at this project (apart
from recent cleaning and slapping on of copyright notices). In
particular, I no longer have an active JME development environment
(the phone I used for testing 3 yeas ago was the property of the
"complete" above means that Jill runs 5.1 lua code unmodified. It
includes its own compiler, and internally implements a VM identical
to the PUC-Rio Lua. You can, if you like, compile Lua scripts
offline and have Jill run the bytecodes on the phone (the original
client wasn't particularly interested in this, but it made the
development way easier).
Jill has an API so that Java programs can embed Jill, just like C
programs embed PUC-Rio Lua. It's basically the standard Lua API
"translated" into Java, and with the stack (almost) thrown away.
Java's GC (well, the JVM's really I guess) is used to GC the Lua
objects. One consequence of this, which isn't tested but should
work, is that "separate" Lua states (instances in Java) can share
objects and it all just works, no GC hassle.