Доступен интерпретатор mruby 3.0
Состоялся релиз mruby 3.0, встраиваемого интерпретатора динамического объектно-ориентированного языка программирования Ruby. Mruby обеспечивает совместимость синтаксиса на уровне Ruby 1.9, но также поддерживает отдельные возможности из более новых версий. Интерпретатор отличается низким потреблением памяти и возможностью встраивания в другие приложения. Кроме того, поддерживается компиляция Ruby-программ в байткод при помощи развиваемого проектом компилятора «mrbc». Код mruby распространяется под лицензией MIT.
В новом выпуске значительно сокращено потребление памяти, используемой в mruby VM. Предыдущие версии требовали нескольких сотен КБ оперативной памяти, а mruby 3.0 потребляет около 100 КБ ОЗУ. Основные улучшения:
Уменьшено потребление оперативной памяти за счет оптимизации выделения памяти для объектов класса Symbols. Уменьшено потребление памяти объектами класса Hash. Проведена оптимизация вызова методов.
- Добавлена поддержка однострочного определения метода без использования ключевого слова «end»:
def square(x) = x * x
- Добавлен оператор »=›» (значения =› переменная), который используется для правостороннего присваивания значений.
0 =› a p a #=› 0 {b: 0, c: 1} =› {b:} p b #=› 0
Поддержка конструкции heredocs.
Обновлены файлы сборки интерпретатора. Добавлена компиляция с gprof. GCC теперь может собирать в режиме 32 бита на 64 битных платформах. Появилась поддержка Address Sanitizer в clang.
Изменение, нарушающее совместимость: константа RITE_VM_VER теперь имеет значение 0300, а RITE_BINARY_FORMAT_VER — 0200, что исключает возможность исполнения байткода от прошлых версий.
- Класс Fixnum стал частью Integer, так же как в Ruby 3.0. Удален класс Integral.
Источник: http://www.opennet.ru/opennews/art.shtml? num=54712
© OpenNet