lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hey all,

In reading the recent list discussions about building a module system
for Lua, and having a few private discussions about the same topic, I
have an interesting question to those who have been happy embedding
Lua into an existing project:

What unique directions can Lua take which will make it better for
embedding?

I've already voiced my opinion that amassing a large set of standard
modules for Lua (ala Perl, Python, Ruby, etc) is a wasted effort. One
motivation for that thought is that once Lua had exceptions, a
class-esq system, and a bunch of modules, it would largly be the same
as all those other systems, and it's just silly wheel-reinventing IMO,
to have so many similar systems.

Today, the way I see it, Lua has three major unique strengths:

1) It's Small and 100% ANSI C  -- I don't think any other comperable 
     scripting language can say that.

2) It's VM is highly tuned and fast -- In fact, I'd like to see a 
     whitepaper written specifically about the Lua VM techniques so 
     it would be easier for languages such as Perl and Python to 
     adopt these techniques where it would help their performance.

3) It's terribly easy to embed -- This is partially due to #1 above.
     In looking into it, the Python embedding API is really not very
     different, but Python as a whole is more complicated, and that
     contributes to some additional confusion. Although there are at
     least as many examples of commercial software with Python embedded,
     possibly more (IIS, Caligari Truespace, XCircuit, ABAQUS/CAE, and
     others)

My question is meant to fuel some interesting discussions about what
directions Lua can take which will make it more useful for it's
current target market, programmers choosing to add an embedded
scripting language.

Some examples of items discussed on the list which might be useful
additions include:

 1) Memory management optimizations for small memory for embedded use
 2) More real-time Garbage collection optimizations for lowering 
    collection pause time (as it seems Lua has been picked up among
    Game programmers)
 3) code-safety features such as "require variable declarations" or
    static typing (ala unrealscript)
 4) compiling Lua code into C 

Do any of you have other ideas about unique features Lua could have
(or perhaps already has that I omitted above)?

-- 
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net