Add Lua scipting capability
Submitted by Pavel Antokolsky aka Zigmar
Hello! I'm asking for adding Lua scripting ability to Gimp.
Below is some detailed explanation for the request:
I'm developer working in simulations/graphics field, and I'm using Gimp for many task, including some automatic processing of large quantities of image data. As API to Gimp I user Script-Fu, because it is portable between platforms (in opposite to Perl-fu) but much faster and easier than native C API. Also I love functional languages like Scheme, Gimp is the only one place where I use such kind of language, and it always pain to write Scheme because it is rarely used in real life, and have little similarities to more popular procedural and/or OO languages. As part of my job, I'm working with Lua language, which I use to add scripting capabilities to my applications, and it proven to be easy-to use both from point of view of script language integrator (me) and scripting capabilities users (sometimes also me).
By introducing possibility to script in Lua, you can bring simplicity and ease a lot development of scripts, while not sacrificing portability of Script-Fu.
The Lua itself is minimalistic embeddable procedural scripting language, written in pure ANSI C, which compiles and runs everywhere, and distributed as C library for embedding scripting Lua scripts into host C application. The syntax of Lua is simple and clean, and familiar to everyone with knowledge of any procedural programming language. The whole Lua interpretor and standard libraries is about ~350kb of C code, and can be merged into core Gimp source tree, without introducing additional external dependency.
Comparing embedded Lua scripting to other options: Script-Fu - the main difference, is ease of use for most modern programmers. Both of them are 100% portable and (can be) embedded into Gimp without introducing external dependency. Both of them can happily coexist together.
Perl-Fu/Python-Fu - Those are much more powerful languages than Script-Fu and Lua, but as consequence, they are large, not 100% portable and can not be distributed with core Gimp.
If any additional info needed, feel free to contact me. Thanks, Pavel Antokoslky aka Zigmar