[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Mike Pall's standalone FFI: a dream?
- From: Lorenzo Donati <lorenzodonatibz@...>
- Date: Wed, 11 May 2011 14:19:53 +0200
On 11/05/2011 13.29, steve donovan wrote:
On Wed, May 11, 2011 at 1:11 PM, Lorenzo Donati
Of course, if Lua could do system API calls directly and there were a Lua
_compiler_ that allowed to translate Lua code directly to exe files with no
mandatory extra dependency, that would be sweet! :-)
Ah, but embedding Lua in a little Lua core is not difficult - have a
look at lhf's srlua. And for larger multiple-file applications, there
is Mathew Wild's Squish which can knock an app into a single file.
Yes, I know srlua and use it from times to times. As for squish, which
would be very interesting, last time I checked (~1yrs ago) it didn't
work for me (it had problems with C extension modules). I don't remember
having seen updates announced on lua-l, but I admit I didn't checked its
Generally, doing system API calls directly is cool but only needed for
the most demanding of tasks. One could bundle the necessary C
extension code with the srlua executable. A clever tool could
generate the needed code and compile it all together.
Well, I don't think sleeping a process for a given amount of time, or
detecting the title of the Windows of a running process or accessing
Window's registry can be defined "demanding". There are things that Lua
simply can't do without a C extension.
Probably there are packages out there that do the same things as AutoIt
or AutoHK, but I doubt there is any one that packs all those "general
purpose functions" as these two tools. I prefer AutoHK, because it is
open source, but its syntax is ugly (and full of loopholes, workarounds,
and lacks coherence). If its author would ever think to drop its current
interpreter and replaced it with Lua, I would be an happy man! :-)
Whenever its bulk justifies it, I use wxLua, but it also lacks some
things, and nevertheless using wxLuaFreeze generates at least ~2MB of
exe file (when passed through UPX; ~5MB otherwise).
I tried also IUPLua for GUI stuff, but it was a pain to build and didn't
work so well. I found the learning curve was too steep compared to
wxLua, so I stick with this latter when it comes to GUIs+Lua,
notwithstanding its size.
Then there is LuaCOM. I tried it, but I had some issues with it (I don't
remember now - ~1yrs ago), and that still forces me to learn COM (which
I wouldn't want to). If I have to choose where to spend time learning MS
specific stuff, I'd prefer investing on Win32 API directly.
I don't like too much to rely on proprietary technology, since I don't
run a business that makes money out of it. So I try to stick to the
basics there - WinAPI seems more stable and less boilerplate, at least
for simple things, even if you have to write some C code (from my POV,
What's nice about distributing little apps as Lua executables is that
they remain pretty small, less than 200K, which falls way below the
threshold of 'small' these days.