[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua 5.2 Wish list item: stable API between versions
- From: Mike Kreuzer <mike@...>
- Date: Tue, 14 Nov 2006 12:21:27 +1100
Sure, there are bindings & wrappers, but so far the ones I've looked at
(& I haven't investigated yours) either act with the same carte blanche
with regard to changing their APIs, or they don't update at all.
Not updating seems to be a popular choice, but what possible goal
could be achieved by fragmenting the user base between different
versions of the language?
OK, I'll up the ante with Santa.  Now I'd now like backwards
compatibility for Christmas as well.  From version 5.1, any 5.1 script
should run in any future version of Lua.  If the language is mature, and
I think it is, then it's time to say so.
The Oxford English Dictionary has a very simple rule for deleting a word
once it's in the dictionary:  They don't.  I think we should adopt the
same approach with language features.  It might concentrate minds a bit
when new features are being considered.
Regards,
Mike Kreuzer
www.mikekreuzer.com
askok@dnainternet.net wrote:
Without taking stand as to the API question itself, the gluax module 
interfacing allows modules to be immune to this change. The same 
binary can be loaded into Lua 5.0, 5.1, and any foreseeable versions.
Personally, I think binary compatibility is not so essential, though.
 It suffices to be able to recompile, without changes in the source. 
Also in this gluax does help.
The technology was in use in LuaX, and is coming "out" in the new 
LuaX2 next year.  As a new thing, modules can be compiled into 
standard Lua n.n modules as well, which should lower the bar for most
 people to try it out. I'm planning to roll this out in larger scale 
alongside the LuaRocks initiative (note: LuaRocks is in no way gluax 
dependent).
Tried to make this clear, but... it's easier to show the samples, 
really. :)  I will.
Think of it as a higher level "bindings API", above the kitchen-door 
level Lua/C API.
-asko
On Mon, 13 Nov 2006 00:37:06 -0500 "Jérôme VUARAND" 
<jerome.vuarand@gmail.com> wrote:
That's a key specificity of Lua that its API is not stable. Lua is 
an evoluting language. You just have to look at Lua 4 manual to 
figure the heavy changes that have happened. Maybe you should 
consider each Lua version as a different language.
This may be a source of troubles for people having a large codebase
 relying on a specific API. For long term project you should stick 
to a specific version of Lua. But according to that page 
(http://www.lua.org/news.html), Lua 5.0 first alpha/beta releases 
are already 4 years old, and Lua 5.0 is still maintained and 
supported by the mailing list. I think it's quite a long time 
already.
Lua 5.1 has a lot of optionnal compatibility features that helps 
make the transition smoother. And Lua releases become more and more
 distant from each other. Lua 5.2 may take several years to come 
(the graph on that page looks like a reassuring exponential 
distribution : http://www.lua.org/versions.html).
My 2 (or 3) cents.
2006/11/12, Mike Kreuzer <mike@mikekreuzer.com>:
Just noticed some other 5.2 wish list items, and, well, Christmas
 is coming up. :-)
My wish: a stable API between versions.  Every time Lua 
increments a version all the Lua DLL (and equivalent) users have 
a lot of back-end re-writing to do.  Some is sometimes 
inevitable, but less would be better.
If a project takes several years to develop, and it's hoped that 
it'll be useful for several years after it's finished, that's two
lots of several years worth of stable API to aim for.
Regards, Mike Kreuzer www.mikekreuzer.com