30. oktoober ilmus 0.10.0 konsoolinterpreteerija ja keele sisseehitatud raamatukogu Pluto – alternatiivne rakendus Lua 5.4 keelele, millel on palju muudatusi ja täiustusi süntaksis, standardteegis ja tõlgendis.
Projekti liikmed töötavad ka välja teeki Soup ja lihtne C++ projektide koostamise süsteem Sun. Projektid on kirjutatud C++ keeles ja levitatakse MIT litsentsi alusel.
Muudatuste nimekiri:
- lisatud on ahelverifitseerimine (nt 1 <= i <= #t);
- klassidesse on lisatud privaatseid meetodeid;
- privaatseid välju ja meetodeid saab nüüd deklareerida ja neile on võimalik juurde pääseda igas klassi kohas;
- nüüd Pluto määrab automaatselt, kas sisaldada või välistada üksteisega kokkusobimatut märksõna sõltuvalt nende kasutamise kontekstist;
- do saab nüüd kasutada asemel then ja begin;
- if väljendid ei ole enam aegunud, kuid nõuavad endise märksõna end kasutamist (nt print(if a then b else c end));
- $define operaator nõuab nüüd määramist;
- Lua C moodulite laadimine Linuxis on parandatud;
- kanva raamatukogu on lisatud;
- ffi raamatukogu on lisatud;
- regex raamatukogu on lisatud (iseseisev rakendus Soup raamatukogus);
- lisatud funktsioon assert.contains;
- lisatud funktsioonid bigint.eq, bigint.lt ja bigint.le;
- lisatud funktsioonid crypto.ripemd160, crypto.exportkey, crypto.importkey ja crypto.decompress;
- lisatud funktsioonid string.tohex ja string.fromhex;
- lisatud funktsioonid table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues ja table.chunk;
- lisatud funktsioonid socket.getpeer, socket.peek, socket.getside, socket.istls ja socket.isopen;
- funktsiooni string.split juurde on lisatud valikuline argument limit;
- funktsioonile io.currentdir on lisatud pseudonüümid io.cwd ja io.chdir;
- socket.starttls on nüüd kasutatav serveri sokettides;
- json.encode on optimeeritud kasutades __order;
- funktsioonides crypto.encrypt, crypto.decrypt ja crypto.sign on parandatud vale RSA privaatvõtme töötlemine.
Allikas: linux.org.ru
