On October 30, the release of version 0.10.0 of the console interpreter and embedded library was announced. Pluto – an alternative implementation of the Lua 5.4 language with many changes and improvements in syntax, standard library, and interpreter.
Project participants are also developing the library Soup and a simple project build system for C++. Sun. Projects are written in C++ and are distributed under the MIT license.
Change log:
- chain comparisons have been added (e.g., 1 <= i <= #t);
- private methods have been added to classes;
- private fields and methods can now be declared and accessed anywhere in the class;
- Pluto now automatically determines whether to include or exclude incompatible keywords based on their usage;
- do can now be used instead of then and begin;
- if expressions are no longer deprecated but require the use of the end keyword (e.g., print(if a then b else c end));
- the $define operator now requires assignment;
- loading of Lua C modules in Linux has been fixed;
- the canvas library has been added;
- the ffi library has been added;
- the regex library has been added (independent implementation in the Soup library);
- the assert.contains function has been added;
- bigint.eq, bigint.lt, and bigint.le functions have been added;
- functions crypto.ripemd160, crypto.exportkey, crypto.importkey, and crypto.decompress have been added;
- functions string.tohex and string.fromhex have been added;
- functions table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues, and table.chunk have been added;
- functions socket.getpeer, socket.peek, socket.getside, socket.istls, and socket.isopen have been added;
- an optional limit argument has been added to the string.split function;
- aliases io.cwd and io.chdir have been added for the io.currentdir function;
- socket.starttls can now be used in server sockets;
- json.encode has been optimized using __order;
- the handling of invalid RSA private keys has been fixed in the crypto.encrypt, crypto.decrypt, and crypto.sign functions.
Source: linux.org.ru
