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