tech-pkg archive

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

Re: lua default version

On Tue, Oct 27, 2015, at 17:25, Greg Troxel wrote:
> Separately, I wonder if we should be changing the default version.
> Currently it's 5.2, which leads me to the conclusion that 5.1 is old
> (and anyone using/needing it should upgrade) and that that 5.3 is
> still too new/bleeding-edge for normal use.  But I am not convinced
> that's right - looking at the release dates at
> it seems to support the theory:
>  lua51 is no longer maintained and migration is overdue
> lua52 is stable/old and users should start migrating
> lua53 is stable/current

I'm no expert on the matter, but my understanding is that things are a
bit subtler for lua.  Because it's often used in embedded situations
where upgrading/migrating is simply not an option, old lua versions are
supported ~forever (they're still keeping track of bugs in lua 4, it's
just that no outstanding bugs are known).  Each version lives on as a
separate dialect of the lua language family, with a debugged
implementation, until the userbase moves on.  Of course the bulk of the
developer community gradually migrates as the language (and VM) evolve,
but some systems continue to use the lua 5.1 language for compatibility
with LuaJIT, or lua 5.2 because that's where most of the library
ecosystem currently is.  So the question is more "which dialect of the
lua language do we want to embed in our system?" than "what is the least
buggy implementation of the lua language to use in our system" (they all
claim to be pretty much bug-free).  I'd personally be happy to see lua
5.3 be the default dialect in pkgsrc, but I don't have much of a stake
(I mostly write trivial little scripts with few library dependencies
that can work with any version).  It would be good to hear from users
running larger lua applications or libraries from pkgsrc as to how
ready they are for an upgrade to 5.3.

Long story short: lua51, lua52, lua53 are best understood as
maintained implementations of three different (but very similar and
often compatible) language dialects, all three of which have users,
rather than three different versions of an implementation for a
single language.


Home | Main Index | Thread Index | Old Index