LINUX.ORG.RU

Pluto 0.10.0

 , , , ,

Pluto 0.10.0

0

4

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.

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от LINUX-ORG-RU

может, поможешь поковыряться с pluto? собрать под него cqueues, например, и попробовать запилить асинхронный http сервер.

можно за денежку электрическую.

ann_eesti
()
Ответ на: комментарий от dataman

улучшайзинг

Эволюция!

Forth передает приветы. И Lisp. И С. А уж Basic просто овации устроил.

BydymTydym
()
Ответ на: комментарий от Alphaer

язык «Плутон», а нарисован Сатурн. Это как вобще?

Плуты, сэр

BydymTydym
()
Ответ на: комментарий от Smacker

Все изменения вносятся с одной целью - сделать лучше. Другое дело, что на это возникает реакция (термин из философии) они же факторы расплаты (термин из ТРИЗ). Можно сказать, что в сообществе возникает реакция, а в продукте проявляются факторы расплаты.

Так что вы ведете себя как реакционер)

special-k ★★★★
()
Ответ на: комментарий от special-k

Так что вы ведете себя как реакционер)

Лучше быть реакционером, чем тихо выпадать в осадок.

Smacker ★★★★★
()

Почитал документацию.

Неплохо. Но вот Ruby-style |скобочки| можно было в язык не тащить.

добавлено цепочечное сравнение (например, 1 <= i <= #t);

А вот это херня полная. Лучше бы тип данных для диапазонов завезли и через него реализовали это.

Пожалуй, это две основные претензии у меня. Остальное либо понравилось, либо нейтрально.

Главный вопрос, оно в планах стабилизироваться когда-то?

wandrien ★★
()
Ответ на: комментарий от wandrien

Что-то взято из ruby, что-то из js, но я не понял чем обращения к методам через точку отличаются от двоеточия?

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от wandrien

они странные, пилят всё это дело в качестве хобби, на мой вопрос, не хотят ли стабилизироваться на фуллтайме за монетки – не ответили.

жаль, походу всё же придётся с эрлангом/эликсиром пердолиться при переписывании инфры.

ann_eesti
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.