Op 30 oktober is versie 0.10.0 van de console-interpreter en de ingebouwde bibliotheek van de taal uitgebracht Pluto ā een alternatieve implementatie van de Lua 5.4-taal met talrijke wijzigingen en verbeteringen in de syntaxis, standaardbibliotheek en interpreter.
De projectdeelnemers ontwikkelen ook een bibliotheek Soup en een eenvoudig systeem voor het bouwen van projecten in C++ Zon. Projecten zijn geschreven in C++ en worden verspreid onder de MIT-licentie.
Wijzigingenlijst:
- kettingvergelijkingen zijn toegevoegd (bijvoorbeeld, 1 <= i <= #t);
- privƩ-methoden zijn toegevoegd aan klassen;
- privƩ-velden en -methoden kunnen nu overal binnen de klasse worden gedeclareerd en aangesproken;
- Pluto bepaalt nu automatisch of incompatibele sleutelwoorden moet worden in- of uitgeschakeld, afhankelijk van hun gebruik;
- do kan nu worden gebruikt in plaats van then en begin;
- if-expressies zijn niet langer verouderd, maar vereisen het gebruik van het sleutelwoord end (bijvoorbeeld print(if a then b else c end));
- de $define-operator vereist nu toewijzing;
- de laadfunctie voor Lua C-modules is gecorrigeerd in Linux;
- de canvas-bibliotheek is toegevoegd;
- de ffi-bibliotheek is toegevoegd;
- de regex-bibliotheek is toegevoegd (onafhankelijke implementatie in de Soup-bibliotheek);
- de functie assert.contains is toegevoegd;
- functies bigint.eq, bigint.lt en bigint.le zijn toegevoegd;
- functies crypto.ripemd160, crypto.exportkey, crypto.importkey en crypto.decompress zijn toegevoegd;
- functies string.tohex en string.fromhex zijn toegevoegd;
- functies table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues en table.chunk zijn toegevoegd;
- functies socket.getpeer, socket.peek, socket.getside, socket.istls en socket.isopen zijn toegevoegd;
- de functie string.split heeft een optionele argument limit gekregen;
- voor de functie io.currentdir zijn de aliassen io.cwd en io.chdir toegevoegd;
- socket.starttls kan nu worden gebruikt in serversockets;
- optimalisatie van json.encode met gebruik van __order;
- in de functies crypto.encrypt, crypto.decrypt en crypto.sign is de verwerking van een ongeldig RSA-private sleutel gecorrigeerd.
Bron: linux.org.ru
