Релиз Parrot 2.0.0, виртуальной машины для Perl 6

22.01.2010 13:59

Представлен релиз виртуальной машины для динамических языков программирования 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 месяцев.