Hello Bert
>> "Nobody is responding because they don't want to be assigned"
1- This task appeals more to someone who already know Ring & Lua, have Lua code & wants to continue development in Ring without rewriting his Lua code/libraries.
2- In open-source world, Things takes time, and as I said in the topic "It's not necessary for such a task to be picked by one of the contributors NOW, because it's better to be owned by the right person, someone who is already falling in love with Lua, know it's power/secrets then discovered Ring, and decided to create a beautiful bridge between the two languages."
3- Using Ring code generator for extensions, and my knowledge about Lua, I could develop RingLUA in ONE DAY at very high quality. but doing this is not enough. This task will be done better by someone who is expert in Lua, knows Lua libraries very well, and have the motivation to bring them to Ring world.
4- This topic is not just about developing (RingLUA) - It's about saying (Welcome) to contributors who have knowledge and want to contribute
>> "If I am using Ring, what interest would I have in LUA, when I can use it directly."
The use-case is using Ring to develop a domain-specific language that uses natural command/declarative style and this DSL uses Lua libraries/frameworks for gamedev.
>> "The biggest issue is always Arrays since 2016."
In Ring, using List() function, create continuous blocks of memory for the list items.
This is a suitable solution for Ring at the current stage, since we support having different types for each item
And I want to keep the language principles as it in the current stage (using small number of basic types)
RingFastPro, already satisfy my needs when I need more performance, and I could use C/C++ extensions too
Also, our friend Ilir Liburn, is already working on a version of Ring that support Types, Arrays, etc.
This version is designed for high-performance game development.
>> "LUA used Tables to implement Arrays - Again not doing Arrays as proper Arrays"
Lua is very fast, and using LuaJIT ---> WE GET VERY HIGH PERFORMANCE
>> "Arrays should be implemented as the Computer Hardware handles them."
We can do this (as our friend Ilir did in his version of Ring) by reusing our implementation for Ring Strings
In Ring, the String implementation is an array of bytes (each element is 1 byte)
Using the similar idea, we can have Arrays for different types (each element is N bytes)
I know a way to do this without changing the language spirit, but it's not my goal for now because I have more important things to do first.
Remember, it's not just about (Arrays)
It's about having (BETTER PEROFRMANCE), and Arrays is one thing to do to improve the performance
When I think about the performance, I think about the big picture, not just Arrays.
FINAL WORDS: I HAVE A BIG VISION FOR RING, AT THE CURRENT STAGE I DEVELOP THE LANGUAGE TRYING TO HAVE THE BEST SCRIPTING AND DYNAMIC LANGUAGE, WHEN I FEEL THAT THIS GOAL IS SATISFIED, THE LANGUAGE DESIGN WILL GROW IN NATURAL, BEATUFUL BUT UNEXPECTED WAY AS A SURPRISE ABOUT HOW WE CAN HAVE A LANGUAGE THAT COULD BE SUITABLE FOR ANY PROGRAMMING TASK INCLUDING SYSTEM PROGRAMMING AND HIGH-PEROFRMANCE SOFTWARE DEVELOPMENT WITHOUT SACRIFICING SIMPLICITY OR CHANGING THE LANGUAGE SPIRIT. SOME IDEAS MUST STAY SECRECT AND NEVER SHARED UNTIL IT'S DONE, WE JUST GIVE LITTLE HINTS TO OUR CONTRIBUTORS THAT THEY ARE CONTRIBUTING TO A PROJECT THAT IS DESIGNED TO GROW AND FILL HUGE GAPS IN PROGRAMMING LANGUAGES WORLD. and as a researcher, I learned an important lesson, have big dreams and try to achieve them, no problem if you failed, you would learn something from the journey.
Greetings,
Mahmoud