Murga-Projects Forums

Full Version: So what IS going on with MurgaLua
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

znarf Wrote:
Hi all,
I just want to express my continued interest in this project - although I've run into some limitations when trying to do serious work using it (e.g., a callback for the help_view link event is missing), MurgaLua has a tremendous potential.
Additionally, it would be really cool if some attempts were done to achieve a good compatibility to the package collection of luaaio (http://luaaio.luaforge.net/). MurgaLua as the core runtime and all these packages as optional components - this would be a very powerful combination.
Best regards,
Gerald


Did anyone ever comment on luaaio and doing something like that with murgalua? There are a lot of things I don't understand yet, like exactly what the require statement does. luaaio seems to be a little short on documentation, but it seems that like murgalua, you can do a lot of things without having to compile and build packages. You can do a simple binary install.

I can't speak for anyone else, but my opinion is that luaaio is very bulky. While it still seems to be quite small for an environment that apparently is attempting to be everything to everyone, the overhead isn't worth the features. I don't think the convenience of having everything built in outweighs to performance hit of....having everything built in.

Besides that, John has already expressed little interest in dealing with the annoyances of GL or other graphical systems, which seems to be a large focus of luaaio
Maybe I should be more specific about what I'm trying to do. I want to use all the good stuff in murgalua, but now I want to add on mysql. I've looked at luasql and luarocks and find it confusing and intimidating. I'd need to do this for both windows and linux and if at all possible, I'd like to avoid using gcc/make and setting a whole bunch of environment variables.

I'm not sure luaaio has all that much overhead. It comes with a bunch of .so/.dll files, but you can simply delete the ones you don't need. For linux, there is a lua executable at 133K and a lua.so at 154K.

I'm not a C programmer and I've never looked at any of the lua source code and don't want to. Apparently 5.1 has luarocks and an updated packaging system, but it looks like a mess to me. I admit I'm lazy. I think what luaaio is trying to do is let you add a new package by simply plugging in a .so or .dll file and that sounds real good to me.

Quote:
It comes with a bunch of .so/.dll files

Ohhh. That's super different. I got the impression that everything was built into a single binary, from the way they worded it. I see now that I overlooked "uses already compiled external libraries". It sounds much more appealing now.

It appears that John has had some success in accessing external libraries with murgaLua, so perhaps the next release will already be able to work with those libs.

asafp Wrote:
I'm not a C programmer and I've never looked at any of the lua source code and don't want to. Apparently 5.1 has luarocks and an updated packaging system, but it looks like a mess to me. I admit I'm lazy. I think what luaaio is trying to do is let you add a new package by simply plugging in a .so or .dll file and that sounds real good to me.

It is standard Lua that allows you to do that ...

Modules meant for lua 5.1 will work with murgaLua, on Linux you have to preload the lua .so (I believe), and on Windows you have to include the lua51.dll.

So for mysql that should work just fine with murgaLua ;-)

Cheers
John de Murga

Here's a sample luaaio script (linux)

Code:
package.cpath = "./lib/?.so;./lib/?.dll;./lib/?.dylib;"
require "uname"
print("uname.sysname=>"..uname("sysname"))
print("uname.nodename=>"..uname("nodename"))
print("uname.release=>"..uname("release"))
print("uname.version=>"..uname("version"))
print("uname.machine=>"..uname("machine"))


runs fine when using luaaio. when run with murgalua it spits out:

error loading module 'uname' from file './lib/uname.so':
./lib/uname.so: undefined symbol: luaL_checklstring
stack traceback:
[C]: ?
[C]: in function 'require'
stdin:1: in main chunk
[C]: ?

luaaio is based on lua version 5.1.3 and includes a lua executable a lua.so and a bunch of modules in a "lib" subdirectory.

Pages: 1 2
Reference URL's