Представлен релиз виртуальной машины для динамических языков программирования Parrot 2.0.0, в первую очередь используемый в проекте Rakudo Perl 6. Parrot поддерживает выполнение универсального байткода, в который могут быть скомпилированы программы на таких языках, как Perl 6,
Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, APL, также ведется разработка транслятора байткода .NET в представление байткода Parrot. Рассчитанный на широкое использование стабильный релиз проекта Rakudo, реализации языка Perl 6 для виртуальной машины Parrot, намечен на апрель. Первый стабильный релиз будет содержать только базовый костяк описанных в спецификации Perl6 возможностей, остальное будет дорабатываться в следующих выпусках.
Основные новшества Parrot 2.0.0:
- Возможности:
- Context PMC (полиморфный контейнер Context ) теперь поддерживает основанную на атрибутах интроспекцию;
- Context и CallSignature PMC объединены в единый контейнер CallContext, что кроме удобства привело к определенному увеличению производительности;
- Директива .lex теперь генерирует исключение, когда используется с некорректным типом регистра;
- Платформы:
- Протестированы платформы PPC, PPC64 и ARM под Linux;
- Улучшен процесс подготовки пакетов для свободных операционных систем;
- Сомнительные возможности:
- In/out параметры в строковых функциях модификации;
- Обработка void-значений в NCI сигнатурах;
- Параметр, определяющий порядок прохождения опкода в PBC;
- Разное:
- Продолжен процесс переноса базовых тестов из Perl 5 в PIR;
- Улучшена утилита для проверки зависимостей;
- В файлах сборки улучшена обработка зависимостей;
- Deprecation-цикл разработки сокращен с 6 до 3 месяцев.
|