[ANN] luaRT 0.9 beta1

classic Classic list List threaded Threaded
32 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[ANN] luaRT 0.9 beta1

samir.tine
Dear Lua community,

I'm proud to announce the initial public release of LuaRT, a
comprehensive framework for Windows to develop in Lua.

Please visit the project home page for more info: https://www.luart.org
(Documentation is still a work in progress)

LuaRT is based on Lua 5.4.1.
Disclaimer : LuaRT is beta material as bugs, caveats may occur...

Any feedback will be appreciated !

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Sudipto Mallick
Nice project! But can you tell us why did you choose CC-BY-NC-ND 3.0
as luart's licence?
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
Le 2021-01-17 20:46, Sudipto Mallick a écrit :
> Nice project! But can you tell us why did you choose CC-BY-NC-ND 3.0
> as luart's licence?

Hi Mallick,

I just wanted to keep the project closed source for the moment, while
being able to distribute a binary package as freeware.
That license permits it and protect my intellectual property for that
work too.

Regards,

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Mike Nelson
In reply to this post by samir.tine

On 1/17/2021 10:35 AM, [hidden email] wrote:

> Dear Lua community,
>
> I'm proud to announce the initial public release of LuaRT, a
> comprehensive framework for Windows to develop in Lua.
>
> Please visit the project home page for more info: https://www.luart.org
> (Documentation is still a work in progress)
>
> LuaRT is based on Lua 5.4.1.
> Disclaimer : LuaRT is beta material as bugs, caveats may occur...
>
> Any feedback will be appreciated !
>
> Samir
>
>
Looks very good. Documentation needs work, of course. Can 'each' be used
on Objects and if so how? The method names 'constructor' and
'destructor' while highly descriptive, are a bit long.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Egor Skriptunoff-2
In reply to this post by samir.tine
Any feedback will be appreciated !

The website looks nice! :-)

I see you have removed os.setlocale() from the standard library.
How to switch between C locale and national locale?
Which locale is used in string.upper(), pattern "%u" and "str1 < str2" ?
How are char intervals interpreted in patterns (such as "[A-Z]" but with unicode symbols)?

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
In reply to this post by Mike Nelson
Le 2021-01-18 09:30, Michael Nelson a écrit :

> On 1/17/2021 10:35 AM, [hidden email] wrote:
>> Dear Lua community,
>>
>> I'm proud to announce the initial public release of LuaRT, a
>> comprehensive framework for Windows to develop in Lua.
>>
>> Please visit the project home page for more info:
>> https://www.luart.org
>> (Documentation is still a work in progress)
>>
>> LuaRT is based on Lua 5.4.1.
>> Disclaimer : LuaRT is beta material as bugs, caveats may occur...
>>
>> Any feedback will be appreciated !
>>
>> Samir
>>
>>
> Looks very good. Documentation needs work, of course. Can 'each' be
> used on Objects and if so how? The method names 'constructor' and
> 'destructor' while highly descriptive, are a bit long.

Yes, the function 'each' can be used on Objects, but only for objects
from the standard library for the moment.
Had to agree for long method names "constructor" and "destructor", but I
think it fits more Lua style.

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
In reply to this post by Egor Skriptunoff-2
Le 2021-01-18 11:54, Egor Skriptunoff a écrit :

>> Any feedback will be appreciated !
>
> The website looks nice! :-)
>
> I see you have removed os.setlocale() from the standard library.
>
> How to switch between C locale and national locale?
> Which locale is used in string.upper(), pattern "%u" and "str1 < str2"
> ?
> How are char intervals interpreted in patterns (such as "[A-Z]" but
> with unicode symbols)?

Thank you for the feedback on the website :)

LuaRT does not use the concept of C locale.
All the necessary configuration is done during the 'sys' module
initialization for writing UTF8 characters to the console (with some
limits for some region, see discussion on the console limitation on
Windows for some language).

String.upper and string.lower uses the Windows API which is quite good
for some accentued characters.
Char intervals are treated the same. An accentued character (for example
"à") is not in the interval [A-Z] (which includes letters, but not
accentued letters).

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Ranier Vilela-2
Hi, nice project.
What the syntax for the net.Socket?
sock =  net.Socket("http://200.152.38.155", 80)  
 this fail: " in method Socket.constructor : 80"
enigmatic error.

regards,
Ranier Vilela

Em seg., 18 de jan. de 2021 às 16:17, <[hidden email]> escreveu:
Le 2021-01-18 11:54, Egor Skriptunoff a écrit :
>> Any feedback will be appreciated !
>
> The website looks nice! :-)
>
> I see you have removed os.setlocale() from the standard library.
>
> How to switch between C locale and national locale?
> Which locale is used in string.upper(), pattern "%u" and "str1 < str2"
> ?
> How are char intervals interpreted in patterns (such as "[A-Z]" but
> with unicode symbols)?

Thank you for the feedback on the website :)

LuaRT does not use the concept of C locale.
All the necessary configuration is done during the 'sys' module
initialization for writing UTF8 characters to the console (with some
limits for some region, see discussion on the console limitation on
Windows for some language).

String.upper and string.lower uses the Windows API which is quite good
for some accentued characters.
Char intervals are treated the same. An accentued character (for example
"à") is not in the interval [A-Z] (which includes letters, but not
accentued letters).

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
Le 2021-01-18 20:40, Ranier Vilela a écrit :

> Hi, nice project.
> What the syntax for the net.Socket?
> sock =  net.Socket("http://200.152.38.155", 80)
>
>  this fail: " in method Socket.constructor : 80"
> enigmatic error.
>
> regards,
> Ranier Vilela
>
> Em seg., 18 de jan. de 2021 às 16:17, <[hidden email]>
> escreveu:
>
>> Le 2021-01-18 11:54, Egor Skriptunoff a écrit :
>>>> Any feedback will be appreciated !
>>>
>>> The website looks nice! :-)
>>>
>>> I see you have removed os.setlocale() from the standard library.
>>>
>>> How to switch between C locale and national locale?
>>> Which locale is used in string.upper(), pattern "%u" and "str1 <
>> str2"
>>> ?
>>> How are char intervals interpreted in patterns (such as "[A-Z]"
>> but
>>> with unicode symbols)?
>>
>> Thank you for the feedback on the website :)
>>
>> LuaRT does not use the concept of C locale.
>> All the necessary configuration is done during the 'sys' module
>> initialization for writing UTF8 characters to the console (with some
>>
>> limits for some region, see discussion on the console limitation on
>> Windows for some language).
>>
>> String.upper and string.lower uses the Windows API which is quite
>> good
>> for some accentued characters.
>> Char intervals are treated the same. An accentued character (for
>> example
>> "à") is not in the interval [A-Z] (which includes letters, but not
>> accentued letters).
>>
>> Samir

Thanks for your feedback.
You found a bug :)

You should use :
sock =  net.Socket("200.152.38.155", 80)

For an ip address, you should remove the "http://"

Thanks again to the Lua community for your questions.
I don't want to polluate the Lua list with such specific questions that
are out of scope of the list.
Such quesitons should be asked on LuaRT community (link on the LuRT
website).

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Ranier Vilela-2
Hi,
Something it doesn't smell good.
See at:

32 virus engines point to your exe.

regards,
Ranier Vilela

Em seg., 18 de jan. de 2021 às 16:51, <[hidden email]> escreveu:
Le 2021-01-18 20:40, Ranier Vilela a écrit :
> Hi, nice project.
> What the syntax for the net.Socket?
> sock =  net.Socket("http://200.152.38.155", 80)
>
>  this fail: " in method Socket.constructor : 80"
> enigmatic error.
>
> regards,
> Ranier Vilela
>
> Em seg., 18 de jan. de 2021 às 16:17, <[hidden email]>
> escreveu:
>
>> Le 2021-01-18 11:54, Egor Skriptunoff a écrit :
>>>> Any feedback will be appreciated !
>>>
>>> The website looks nice! :-)
>>>
>>> I see you have removed os.setlocale() from the standard library.
>>>
>>> How to switch between C locale and national locale?
>>> Which locale is used in string.upper(), pattern "%u" and "str1 <
>> str2"
>>> ?
>>> How are char intervals interpreted in patterns (such as "[A-Z]"
>> but
>>> with unicode symbols)?
>>
>> Thank you for the feedback on the website :)
>>
>> LuaRT does not use the concept of C locale.
>> All the necessary configuration is done during the 'sys' module
>> initialization for writing UTF8 characters to the console (with some
>>
>> limits for some region, see discussion on the console limitation on
>> Windows for some language).
>>
>> String.upper and string.lower uses the Windows API which is quite
>> good
>> for some accentued characters.
>> Char intervals are treated the same. An accentued character (for
>> example
>> "à") is not in the interval [A-Z] (which includes letters, but not
>> accentued letters).
>>
>> Samir

Thanks for your feedback.
You found a bug :)

You should use :
sock =  net.Socket("200.152.38.155", 80)

For an ip address, you should remove the "http://"

Thanks again to the Lua community for your questions.
I don't want to polluate the Lua list with such specific questions that
are out of scope of the list.
Such quesitons should be asked on LuaRT community (link on the LuRT
website).

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
Le 2021-01-18 23:12, Ranier Vilela a écrit :

> Hi,
> Something it doesn't smell good.
> See at:
> https://www.virustotal.com/gui/file/f31bcaa4a56b429b07e7064f1732d3078df14e05c133517f1753e05a2755cf21/detection
>
> 32 virus engines point to your exe.
>
> regards,
> Ranier Vilela
>
> Em seg., 18 de jan. de 2021 às 16:51, <[hidden email]>
> escreveu:
>
>> Le 2021-01-18 20:40, Ranier Vilela a écrit :
>>> Hi, nice project.
>>> What the syntax for the net.Socket?
>>> sock =  net.Socket("http://200.152.38.155", 80)
>>>
>>> this fail: " in method Socket.constructor : 80"
>>> enigmatic error.
>>>
>>> regards,
>>> Ranier Vilela
>>>
>>> Em seg., 18 de jan. de 2021 às 16:17, <[hidden email]>
>>> escreveu:
>>>
>>>> Le 2021-01-18 11:54, Egor Skriptunoff a écrit :
>>>>>> Any feedback will be appreciated !
>>>>>
>>>>> The website looks nice! :-)
>>>>>
>>>>> I see you have removed os.setlocale() from the standard library.
>>>>>
>>>>> How to switch between C locale and national locale?
>>>>> Which locale is used in string.upper(), pattern "%u" and "str1 <
>>>> str2"
>>>>> ?
>>>>> How are char intervals interpreted in patterns (such as "[A-Z]"
>>>> but
>>>>> with unicode symbols)?
>>>>
>>>> Thank you for the feedback on the website :)
>>>>
>>>> LuaRT does not use the concept of C locale.
>>>> All the necessary configuration is done during the 'sys' module
>>>> initialization for writing UTF8 characters to the console (with
>> some
>>>>
>>>> limits for some region, see discussion on the console limitation
>> on
>>>> Windows for some language).
>>>>
>>>> String.upper and string.lower uses the Windows API which is quite
>>>> good
>>>> for some accentued characters.
>>>> Char intervals are treated the same. An accentued character (for
>>>> example
>>>> "à") is not in the interval [A-Z] (which includes letters, but
>> not
>>>> accentued letters).
>>>>
>>>> Samir
>>
>> Thanks for your feedback.
>> You found a bug :)
>>
>> You should use :
>> sock =  net.Socket("200.152.38.155", 80)
>>
>> For an ip address, you should remove the "http://"
>>
>> Thanks again to the Lua community for your questions.
>> I don't want to polluate the Lua list with such specific questions
>> that
>> are out of scope of the list.
>> Such quesitons should be asked on LuaRT community (link on the LuRT
>> website).
>>
>> Samir

Hi,

LuaRT does not contain any virus nor malware or any other trojan.
LuaRT uses specific optimizations (DLL delay loading with an
incorporated lua54.DLL that permits static-like executable, and UPX
compression). I think that's why it's detected as false positive.

LuaRT is young and the "reputation" of luart.exe and wluart.exe is very
low. Some antivirus uses famousness to detect potential threats.

Windows defender, one of the best antivirus program on Windows, does not
detect it as positive (not tested on virustotal).

Regards,

Samir




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Andrea-2

UPX should be removed not to trigger any euristic.

Binary can be signed.

--
Andrea Vitali






Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Egor Skriptunoff-2
In reply to this post by samir.tine
On Mon, Jan 18, 2021 at 10:17 PM wrote:
> I see you have removed os.setlocale() from the standard library.
> How to switch between C locale and national locale?
LuaRT does not use the concept of C locale.

Does it mean that the "%w" pattern will always match national alphabet characters?
In some projects I prefer to have "%w" as ASCII7-only.
Do I have to use "[A-Za-z%d]" instead in LuaRT?

 
Char intervals are treated the same. An accentued character (for example
"à") is not in the interval [A-Z] (which includes letters, but not
accentued letters).
 
Is char interval interpreted from the point of view of the alphabet
or from the point of view of codepoint numeric values?
For example, "А" is the first letter of the Russian alphabet, "Я" is the last letter.
The letter "Ё" is somewhere between them in the alphabet,
but codepoint("Ё") is beyond the numeric range of codepoint("А")...codepoint("Я")
So, what would be the result of string.find("Ё", "[А-Я]") in LuaRT?
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
1) Yes %w pattern will always match what you call "national alphabet characters". That maintains compatibility with standard Lua.

2) I have tested string.find("Ё", "[А-Я]") in LuaRT : it returns correctly 1,2 that means the Ё has been correctly found ?

Regards,

Samir


19 janvier 2021 07:28 "Egor Skriptunoff" <[hidden email]> a écrit:
On Mon, Jan 18, 2021 at 10:17 PM wrote:
> I see you have removed os.setlocale() from the standard library.
> How to switch between C locale and national locale?
LuaRT does not use the concept of C locale.
Does it mean that the "%w" pattern will always match national alphabet characters?
In some projects I prefer to have "%w" as ASCII7-only.
Do I have to use "[A-Za-z%d]" instead in LuaRT?
Char intervals are treated the same. An accentued character (for example
"à") is not in the interval [A-Z] (which includes letters, but not
accentued letters).
Is char interval interpreted from the point of view of the alphabet
or from the point of view of codepoint numeric values?
For example, "А" is the first letter of the Russian alphabet, "Я" is the last letter.
The letter "Ё" is somewhere between them in the alphabet,
but codepoint("Ё") is beyond the numeric range of codepoint("А")...codepoint("Я")
So, what would be the result of string.find("Ё", "[А-Я]") in LuaRT?


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
Le 2021-01-19 19:31, [hidden email] a écrit :

> 1) Yes %w pattern will always match what you call "national alphabet
> characters". That maintains compatibility with standard Lua.
>
> 2) I have tested string.find("Ё", "[А-Я]") in LuaRT : it returns
> correctly 1,2 that means the Ё has been correctly found ?
>
> Regards,
>
> Samir
>
> 19 janvier 2021 07:28 "Egor Skriptunoff" <[hidden email]>
> a écrit:
>
>> On Mon, Jan 18, 2021 at 10:17 PM wrote:
>>
>>>> I see you have removed os.setlocale() from the standard library.
>>>> How to switch between C locale and national locale?
>>> LuaRT does not use the concept of C locale.
>>
>> Does it mean that the "%w" pattern will always match national
>> alphabet characters?
>> In some projects I prefer to have "%w" as ASCII7-only.
>> Do I have to use "[A-Za-z%d]" instead in LuaRT?
>>
>>> Char intervals are treated the same. An accentued character (for
>>> example
>>> "à") is not in the interval [A-Z] (which includes letters, but
>>> not
>>> accentued letters).
>>
>> Is char interval interpreted from the point of view of the alphabet
>> or from the point of view of codepoint numeric values?
>> For example, "А" is the first letter of the Russian alphabet, "Я"
>> is the last letter.
>> The letter "Ё" is somewhere between them in the alphabet,
>> but codepoint("Ё") is beyond the numeric range of
>> codepoint("А")...codepoint("Я")
>> So, what would be the result of string.find("Ё", "[А-Я]") in
>> LuaRT?

In fact, it returns 1, 1 (matching the right character).
A bug consisting in a miscalculation of the end of the match was found
with your help :)

Thank you !



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Mike Nelson
In reply to this post by samir.tine

On 1/17/2021 10:35 AM, [hidden email] wrote:

> Dear Lua community,
>
> I'm proud to announce the initial public release of LuaRT, a
> comprehensive framework for Windows to develop in Lua.
>
> Please visit the project home page for more info: https://www.luart.org
> (Documentation is still a work in progress)
>
> LuaRT is based on Lua 5.4.1.
> Disclaimer : LuaRT is beta material as bugs, caveats may occur...
>
> Any feedback will be appreciated !
>
> Samir
>
>
>

I've been testing this and LuaRT is excellent. Lots of work to do before
version 1.0, particularly writing documentation for the LuaRT standard
library (but the part that is documented is documented excellently).
There are some bugs to be squashed, I've found and reported one on the
LuaRT list. Samir responded promptly and courteously. I would urge
anyone interested in Lua in a Windows environment to follow the link and
download LuaRT. Installation is dead easy and won't interfere with
existing Lua installations as LuaRT is entirely self contained.  If you
are so inclined, join the LuaRT list and request features/report bugs.
The list is very new and Samir and I would enjoy the company.

Mike
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Egor Skriptunoff-2
In reply to this post by samir.tine
> 2) I have tested string.find("Ё", "[А-Я]") in LuaRT : it returns
> correctly 1,2 that means the Ё has been correctly found ?

In fact, it returns 1, 1 (matching the right character).

OK, it's good.

What does #str (the string length operator) return?
- a number of bytes in a string
- a number of UTF16 words (a symbol above U+FFFF is encoded as a surrogate pair and therefore has length of 2)
- a number of UTF-8 codepoints
- a number of symbols (a symbol may consist of several codepoints)
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

samir.tine
Le 2021-01-21 08:51, Egor Skriptunoff a écrit :

>>> 2) I have tested string.find("Ё", "[А-Я]") in LuaRT : it
>> returns
>>> correctly 1,2 that means the Ё has been correctly found ?
>>
>> In fact, it returns 1, 1 (matching the right character).
>
> OK, it's good.
>
> What does #str (the string length operator) return?
> - a number of bytes in a string
> - a number of UTF16 words (a symbol above U+FFFF is encoded as a
> surrogate pair and therefore has length of 2)
>
> - a number of UTF-8 codepoints
> - a number of symbols (a symbol may consist of several codepoints)

#str means the size of the string on bytes.
Use string.length to get the length in characters.

Regards,

Samir



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

孙世龙 sunshilong
LuaRT? What's short for "RT"?

On Thu, Jan 21, 2021 at 6:32 PM <[hidden email]> wrote:

>
> Le 2021-01-21 08:51, Egor Skriptunoff a écrit :
> >>> 2) I have tested string.find("Ё", "[А-Я]") in LuaRT : it
> >> returns
> >>> correctly 1,2 that means the Ё has been correctly found ?
> >>
> >> In fact, it returns 1, 1 (matching the right character).
> >
> > OK, it's good.
> >
> > What does #str (the string length operator) return?
> > - a number of bytes in a string
> > - a number of UTF16 words (a symbol above U+FFFF is encoded as a
> > surrogate pair and therefore has length of 2)
> >
> > - a number of UTF-8 codepoints
> > - a number of symbols (a symbol may consist of several codepoints)
>
> #str means the size of the string on bytes.
> Use string.length to get the length in characters.
>
> Regards,
>
> Samir
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] luaRT 0.9 beta1

Egor Skriptunoff-2
In reply to this post by samir.tine
> What does #str (the string length operator) return?

#str means the size of the string on bytes.
Use string.length to get the length in characters.

What does "character" mean in Lua RT?
Does string.length() return the number of unicode codepoints or the number of UTF-16 words?
I'm asking because Windows internally works with UTF16-encoded strings.

What about positions (pos1...pos4) in
string.sub(str, pos1, pos1)
pos2 = string.find(str, "()%w", pos3)
string.byte(str, pos4)
Are they byte positions or character positions?

12