Murga-Projects Forums

Full Version: UPDATED murgaLua build
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

JohnMurga Wrote:
There are a few things that on my list :

  • Bug fixes ... Hopefully not too many :-)
    .
  • The compiler is still in beta
  • Decent documentation !!
  • Decent grid control (Fl_Table is on its way)
  • Nice UIs for compiler, fluid conversion, etc.
    .
  • The text editor stuff is still missing some methods.
    (And I want to make syntax highlighting easy)
  • Dynamic loading of sqLite if .dll/.so is present.
    (No more static linking on Win/Mac, and Linux version would not fail if .so is not present)
    .
  • Sound API (lightweight, only if SDL is present or something).
  • Dynamic calling of functions in .so/.dll from scripts.
  • Serial API ?

And all this staying as light, or lighter than we are now ...

After all this is done I'll start considering version 1.0 :-)

But as always I am open to suggestions ...

Cheers
JohnM


Is there something wrong with C/Invoke?

Wasn't there a plan to build murgaLua with readline support on Linux?

I don't know if the above topic includes this, but would it be possible to build a dynamic version (still linked statically to fltk, liblua, .....) that is able to load binary modules?
I may be doing a project in the near future, which requires some functionality that doesn't necessarily make sense in murgaLua (like accessing the win32 API, regex, pluto, luaevent, threads....)

If you are looking for features to add: lpeg, pluto and maybe luaevent wouldn't be a bad idea.

Juergen

Juergen Wrote:
Is there something wrong with C/Invoke?


C/Invoke did have some serious issues last time I played with it ... Which was a massive shame as it was something I really wanted.

I have an alternative which is more limited, but that's for the experimental murgaLua version in the coming weeks.

Juergen Wrote:
Wasn't there a plan to build murgaLua with readline support on Linux?


This version was built with readline support on Linux.
As it happens the readline source is now required to do the build on Linux.

Juergen Wrote:
I don't know if the above topic includes this, but would it be possible to build a dynamic version (still linked statically to fltk, liblua, .....) that is able to load binary modules?


Again, this version should support binary modules, you'd just have to build them for murgaLua ... I'll give it ago later.

Juergen Wrote:
I may be doing a project in the near future, which requires some functionality that doesn't necessarily make sense in murgaLua (like accessing the win32 API, regex, pluto, luaevent, threads....)


Absolutely ... This is something I assumed was working, I was going to write a win32 module at some point for use with murgaLua (but only on Windows) ... For one of my projects.

Which reminds me ... If you are using murgaLua for any kind of project that would make a good showcase please send some screenshots or something :-)

Juergen Wrote:
If you are looking for features to add: lpeg, pluto and maybe luaevent wouldn't be a bad idea.


lpeg and pluto are a little complex for most users (and easy enough to add as modules), while luaevent seems less stable than COPAS.

I am looking for suggestions, of any type, but I still want to keep focus on a usable, tight and focussed run-time.

Cheers
JohnM

I just noticed that my kluge for jumbled text only works for strings in functions...silly oversight.
I fixed it for (hopefully) all strings by making a change to the lookittable function:

Code:
elseif type(v)=="string" then my_string=col_str..string.gsub(my_value,"\n"," %* ")

This should join multiline strings into a single line.

Quote:
The text editor stuff is still missing some methods.

Yeah, I forgot about that. I haven't done anything complex with Fl_Text_* but I did notice that column_widths() is missing, while it isn't that important it can make displays much neater.

JohnMurga Wrote:

Juergen Wrote:
I don't know if the above topic includes this, but would it be possible to build a dynamic version (still linked statically to fltk, liblua, .....) that is able to load binary modules?

Again, this version should support binary modules, you'd just have to build them for murgaLua ... I'll give it ago later.


It has always worked, you don't even have to build specially if you don't want to (look at last post) ...

http://www.murga-projects.com/forum/show...hp?tid=161

Cheers
JohnM

JohnMurga Wrote:
C/Invoke did have some serious issues last time I played with it ... Which was a massive shame as it was something I really wanted.

I have an alternative which is more limited, but that's for the experimental murgaLua version in the coming weeks.


Unfortunately there hasn't been an update since then. Although the last time when I tried it I found no problems. But I haven't tested it that much.
The big advantage of C/Invoke is that it comes with very powerful binary pack and unpack/parse features, which are currently missing in Lua.

JohnMurga Wrote:

Juergen Wrote:
Wasn't there a plan to build murgaLua with readline support on Linux?


This version was built with readline support on Linux.
As it happens the readline source is now required to do the build on Linux.


I was just asking, because the edit features (cursor keys) don't work currently.

JohnMurga Wrote:

Juergen Wrote:
I don't know if the above topic includes this, but would it be possible to build a dynamic version (still linked statically to fltk, liblua, .....) that is able to load binary modules?


Again, this version should support binary modules, you'd just have to build them for murgaLua ... I'll give it ago later.

O.K. But I was wondering, since on Linux with glibc it isn't really possible to make completely static binaries, it would still work with a dynamic binary where all of the dependencies have been compiled in statically. The C-API is still the same (or did you change the C-API also?). This would remove the need to compile the modules specifically for murgaLua.

JohnMurga Wrote:

Juergen Wrote:
I may be doing a project in the near future, which requires some functionality that doesn't necessarily make sense in murgaLua (like accessing the win32 API, regex, pluto, luaevent, threads....)


Absolutely ... This is something I assumed was working, I was going to write a win32 module at some point for use with murgaLua (but only on Windows) ... For one of my projects.

I guess it would make sense to write the win32 API part for Windows only ;-)

JohnMurga Wrote:
Which reminds me ... If you are using murgaLua for any kind of project that would make a good showcase please send some screenshots or something :-)

It will definitely be GPL. The reason for using a scripting language, is that it should be easy to change things.
Although I normally don't do GUIs and it will be the first project with Lua and fltk and I don't have much time and normally don't use Windows, which shouldn't make things easier ;-)

JohnMurga Wrote:

Juergen Wrote:
If you are looking for features to add: lpeg, pluto and maybe luaevent wouldn't be a bad idea.


lpeg and pluto are a little complex for most users (and easy enough to add as modules), while luaevent seems less stable than COPAS.

I am looking for suggestions, of any type, but I still want to keep focus on a usable, tight and focussed run-time.

If you add the feature of invoking C-API calls, then this will add automatically also the possibility of reading and parsing binary chunks (which is currently an absolute disaster). Of course a bitlib for bit manipulation is also needed to complement this.

Juergen

JohnMurga Wrote:

JohnMurga Wrote:

Juergen Wrote:
I don't know if the above topic includes this, but would it be possible to build a dynamic version (still linked statically to fltk, liblua, .....) that is able to load binary modules?

Again, this version should support binary modules, you'd just have to build them for murgaLua ... I'll give it ago later.


It has always worked, you don't even have to build specially if you don't want to (look at last post) ...

http://www.murga-projects.com/forum/show...hp?tid=161

I was just testing this on Linux and it didn't work. I assumed that it works, but (I may have tested it in the past on Windows) it currently doesn't work on Linux (at least not the way it is expected).

I just did a few extra tests and at no point does murgaLua try to open liblua. Although I can make it work when I preload liblua with "LD_PRELOAD". This is good enough and if it works on Windows I have no problems.

Juergen

Juergen Wrote:
I just did a few extra tests and at no point does murgaLua try to open liblua. Although I can make it work when I preload liblua with "LD_PRELOAD". This is good enough and if it works on Windows I have no problems.

MurgaLua would not try to open liblua as it is statically linked, my understanding is that the module would be linked against liblua and would required it to be present whe murgaLua did the loadlib/require ...

But I haven't tried myself ... And won't be able to until the end of the week.

Cheers
JohnM

JohnMurga Wrote:

Juergen Wrote:
I just did a few extra tests and at no point does murgaLua try to open liblua. Although I can make it work when I preload liblua with "LD_PRELOAD". This is good enough and if it works on Windows I have no problems.

MurgaLua would not try to open liblua as it is statically linked, my understanding is that the module would be linked against liblua and would required it to be present whe murgaLua did the loadlib/require ...

But I haven't tried myself ... And won't be able to until the end of the week.

Cheers
JohnM

You are right, the examples I just tested were not explicitly linked against liblua. Normally they don't have to, because they can see the Lua API symbols even when liblua is linked staticall into the lua interpreter binary. Only when the interpreter itself is linked statically (which doesn't really work on glibc) then the modules have to be linked dynamically against liblua or liblua.so has to be preloaded to make the symbols available.

Juergen

JohnMurga Wrote:
Which reminds me ... If you are using murgaLua for any kind of project that would make a good showcase please send some screenshots or something :-)


I could provide some interesting screens, but I'm kind of afraid of encouraging
more requests for a library. Sometimes I feel guilty being "special".
How do you think I should approach this?
Just flood you with screens and let you pick and choose?

I did a few experiments today and found another missing feature in the fltk binding:

The constructors Fl_Pixmap and Fl_Bitmap normally take an array as an argument.
It would make sense to change the bindings so that the fltk.Fl_(Pixmap|Bitmap) constructors use a binary string.

Juergen
Pages: 1 2 3
Reference URL's