Pluto 0.10.0

30 октября состоялся выпуск 0.10.0 консольного ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ встраиваСмой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ языка Pluto – Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка Lua 5.4 со мноТСством ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² синтаксисС, стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅.

Участниками ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ разрабатываСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Soup ΠΈ простая систСма сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° C++ Sun. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ написаны Π½Π° языкС C++ ΠΈ Ρ€Π°cΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ MIT.

Бписок измСнСний:

  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ†Π΅ΠΏΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ΅ сравнСниС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1 <= i <= #t);
  • Π² классы Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹;
  • ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π² любом мСстС класса;
  • Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Pluto автоматичСски опрСдСляСт, слСдуСт Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСсовмСстимыС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π² зависимости ΠΎΡ‚ ΠΈΡ… использования;
  • do Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто then ΠΈ begin;
  • выраТСния if большС Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ использования ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова end (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, print(if a then b else c end));
  • ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ $define Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ присваивания;
  • исправлСна Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Lua C Π² Linux;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° canvas;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ffi;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° regex (нСзависимая рСализация Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Soup);
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция assert.contains;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ bigint.eq, bigint.lt ΠΈ bigint.le;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ crypto.ripemd160, crypto.exportkey, crypto.importkey ΠΈ crypto.decompress;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ string.tohex ΠΈ string.fromhex;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues ΠΈ table.chunk;
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ socket.getpeer, socket.peek, socket.getside, socket.istls ΠΈ socket.isopen;
  • Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ string.split Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ limit;
  • для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ io.currentdir Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ псСвдонимы io.cwd ΠΈ io.chdir;
  • socket.starttls Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² сСрвСрных сокСтах;
  • оптимизация json.encode с использованиСм __order;
  • Π² функциях crypto.encrypt, crypto.decrypt ΠΈ crypto.sign исправлСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° RSA.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru