Am 30. Oktober wurde die Version 0.10.0 des Konsoleninterpreters und der eingebetteten Bibliothek der Sprache veröffentlicht. Pluto – eine alternative Implementierung der Sprache Lua 5.4 mit zahlreichen Änderungen und Verbesserungen in der Syntax, der Standardbibliothek und dem Interpreter.
Die Teilnehmer des Projekts arbeiten auch an der Bibliothek Soup und ein einfaches System zur Projekterstellung in C++ Sun. Die Projekte sind in C++ geschrieben und unter der MIT-Lizenz erhältlich.
Änderungsprotokoll:
- eine Verkettungsvergleichsfunktion wurde hinzugefügt (z. B. 1 <= i <= #t);
- es wurden private Methoden in die Klassen eingeführt;
- private Felder und Methoden können nun überall im Klassenkontext deklariert und darauf zugegriffen werden;
- jetzt bestimmt Pluto automatisch, ob inkompatible Schlüsselwörter abhängig von ihrer Verwendung einbezogen oder ausgeschlossen werden sollten;
- do kann jetzt anstelle von then und begin verwendet werden;
- if-Ausdrücke sind nicht mehr veraltet, erfordern jedoch die Verwendung des Schlüsselworts end (z. B. print(if a then b else c end));
- der Operator $define erfordert jetzt eine Zuweisung;
- es wurde ein Problem mit dem Laden von Lua C-Modulen unter Linux behoben;
- die Canvas-Bibliothek wurde hinzugefügt;
- die FFI-Bibliothek wurde hinzugefügt;
- die Regex-Bibliothek wurde hinzugefügt (unabhängige Implementierung in der Soup-Bibliothek);
- die Funktion assert.contains wurde hinzugefügt;
- die Funktionen bigint.eq, bigint.lt und bigint.le wurden hinzugefügt;
- die Funktionen crypto.ripemd160, crypto.exportkey, crypto.importkey und crypto.decompress wurden hinzugefügt;
- die Funktionen string.tohex und string.fromhex wurden hinzugefügt.
- Die Funktionen table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues und table.chunk wurden hinzugefügt.
- Die Funktionen socket.getpeer, socket.peek, socket.getside, socket.istls und socket.isopen wurden hinzugefügt.
- Der optionale Parameter limit wurde zur Funktion string.split hinzugefügt.
- Die Pseudonyme io.cwd und io.chdir wurden für die Funktion io.currentdir hinzugefügt.
- socket.starttls kann jetzt in Server-Sockets verwendet werden.
- Optimierung von json.encode unter Verwendung von __order.
- In den Funktionen crypto.encrypt, crypto.decrypt und crypto.sign wurde die Behandlung ungültiger RSA-Privatschlüssel korrigiert.
Quelle: linux.org.ru
