Рейни Урбан анонсировал выпуск форка Perl: cperl 5.22.1.
Имя cperl означает Perl с классами (просматривается параллель с ранним именем C++ — C с классами), поддержкой компилятора или просто дружелюбный к компаниям perl. Но, к сожалению, выпуск cperl 5.22.1 оказался пока без поддержки классов, но, тем не менее, форк имеет множество других интересных особенностей.
Утверждается, что cperl по крайне мере в 1.5 раза быстрее, чем Perl 5.22, и в 2 раза быстрее, чем Perl 5.14. Потребление памяти даже ниже, чем в 5.6.2 и 5.10.
cperl по большей части совместим с Perl 5.22, подавляющая часть CPAN модулей будет работать с cperl.
Основные возможности, вошедшие в cperl 5.22.1:
- Базовые типы (Int, UInt, Num, Str)
# Массив целых чисел @a. # Строгая проверка типа на этапе компиляции my Int @a = (0..9);
- Типы в сигнатурах функций
sub (int $i) # синтаксис Perl 6 sub ($i: int) # синтаксис в других типизированных языках
- Декларация возвращаемого функцией типа как атрибут
- Множество встроенных атрибутов функций (например :const)
- Фиксированные массивы с проверкой во время компиляции и оптимизациями
# Массив размер, которого не может быть изменён my @a[20] :int;
- Статические методы конвертируются в вызов подпрограммы на этапе компиляции
- Модуль Config реализован в XS
- strict, attributes, DynaLoader, XSLoader — встроенные пакеты, переписаны на C
- Хэш-функция по умолчанию FNV1A (также, как и форке stableperl)
- Исправлена работа лексической $_
- Улучшена сборочная система
Подробное описание новшеств и грядущих изменений в cperl, доступно здесь. Загрузить исходный код cperl можно из репозитория проекта на github
Взято с http://perlnews.ru/