lua-users home
lua-l archive

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


steve donovan <steve.j.donovan@gmail.com> wrote:

> On Tue, Apr 25, 2017 at 9:19 AM, Paige DePol <lual@serfnet.org> wrote:
>> There may be a couple other tiny patches in there as well, but those are the
>> major patch areas... a bit more than the 4'ish I initially estimated! ;)
> 
> I'm curious about how (semi) automated patching could become.
> 
> The background is this: I did luabuild because I wanted to create a
> straightforward toolkit for creating custom versions of Lua, either
> adding external modules to the core, or leaving out standard modules.
> (It would then leverage soar and srlua to make standalone executables
> with programs, but that is another story).  So I was thinking about
> how to raise that to the next level, and allow a person to add a few
> patches as well.
> 
> It's a hard problem in general because patches can trample on each
> other so easily. So what's needed is some kind of compatibility matrix
> so a machine could deduce what combination of patches is going to work
> as expected.

Actually, one of my goals is to generate just such a system!

I plan to place all my patches into a matrix, and where necessary, generate
additional patches to resolve conflicts between other patches. Then I plan
to create a website with a listing of patches that can dynamically be
enabled or disabled to create custom versions of Lua that can be downloaded,
or perhaps even supplied as binaries for a subset of targets. Also, this
way, prerequisite patches can be tracked easily for subsequent patches.

For external patches, I would probably have to curate them into the system
as I am sure there would be conflicts that could not be fixed automatically
by software... but I don't think a system like this is outside the realm of
possibility. As long as all patches work from a common baseline version of
Lua it shouldn't be hard to generate most of the work automatically, with
some work required for conflicts. Then again, I could wind up mired down in
a sea of patches... we shall see! ;)

I was thinking of naming the custom version of Lua built by such a system
"Modlua"[1], sort of a play on the language "Modula". I was also thinking
that perhaps a version of Lua could be built with a modular plugin design,
so extensions could be created via a plugin architecture... but that is
something I am still working out the details of in my mind.

If anyone has experience building such a patch matrix and has any sage
advice about creating and maintaining such a system please feel free to
share... offlist is fine if such a conversation is considered offtopic for
the list in general!

~Paige

[1] I hereby reserve the name "Modlua" ;)