В качестве одной из заявок на получение гранта от организации Perl Foundation представлен проект compiler.perl.org в рамках которого планируется создать работоспособный высокопроизводительный компилятор для языка Perl и исправить ошибки в уже доступных, но заброшенных, компиляторах B::C, B::CC и B::Bytecode, на базе которых и планируется основать новый проект. В качестве долгосрочных планов упоминается создание Jit-компилятора и интеграция его в базовую поставку Perl.URL: http://news.perlfoundation.org/2010/02/2010_grant_proposal_p...
Новость: http://www.opennet.me/opennews/art.shtml?num=25403
Надеюсь, как положено, без уродских VM? Компилим в нативный код, компилятор включаем в рантайм, используем его для eval. Крайне желательно это все в качестве фронтэнда к llvm.
В качестве бэкэнда лучше использовать parrot. Тем более часть наработок по части компилятора можно взять из проекта rakudo(компилятор perl6). Прикрутить к этому стандартный перл5 рантайм и получить профит.
Что до без уродских VM, то то что вы говорите можно сделать и на базе VM, проблем тут нет.По сабжу: Честно говоря непонятно зачем этот perl5 развивают дальше, фиксы и тд - всё это понятно и разумно. Но зачем делать компилятор на базе решений perl5? Когда подход rakudo более разумен и уже куча работы проделано? Взяли бы и объединили усилия с ракудой и парротом, постепенно бы всё стало развиваться в рамках одного проекта.
И для девелоперов перлистов это большой плюс, они бы получили возможность использовать перл5 модули из perl6 и наоборот, в целях совместимости.
Но похоже проблемы с кадрами, как и везде:(
>Но похоже проблемы с кадрами, как и везде:(Сходил по ссылке, да похоже так оно и есть. По ситуации с парротом и ракудо он вкурсе, но не хочет связываться, слабак.
Нафиг не нужно выдавать таким гранды, разбазаривают только средства, лучше деньги давать ракудовцам, за одно их можно попросить реализовать какой-нибудь легаси мод в ракудо, для перл5:)
Легаси мод в perl6 есть.Чувак не впёрся в тему - думает, что если он "возьмёт и сделает", то эта штука "будет работать" без постоянной *бли, которая ему так не нравится в ракудо.
Типа perlcc лохи делали, а он д'Артаньян и слабает, как положено. Если ему немножко забашляют. Подучит теорию компиляторов. Заглянет в CPAN. Почитает про Moose. Ох*еет и по-тихому свалит.
Ждём апреля, потом попробуем что-нибудь портануть в этот самый легаси мод.
Без уродских VM - C++
Проблема в том, что все эти B::C, B::CC и B::Bytecode не компилируют скрипты в нативный код, а грубо говоря преобразуют его в байткод и прикрепляют к нему стандартный интерпретатор байткода. Т.е. выигрыш от их использования только в скорости запуска, а выполнение происходит с ровно той же скоростью, что и выполнение обычного скрипта на perl.
>Проблема в том, что все эти B::C, B::CC и B::Bytecode не компилируют
>скрипты в нативный код, а грубо говоря преобразуют его в байткод
>и прикрепляют к нему стандартный интерпретатор байткода. Т.е. выигрыш от их
>использования только в скорости запуска, а выполнение происходит с ровно той
>же скоростью, что и выполнение обычного скрипта на perl.Ну вот с целью ускорения и сущесвуют JIT. Только вот проблема в том, что сабжисты решили навоять своих костылей для этих целей:(
Ну так это... интерпретатор есть, надо написать спецификатор вот и готов компилятор.
Красавцы. :)
За 2 месяца до релиза шестерки они решили сваять "компилятор", без котрого все эти годы отлично обходились при помощи PAR::Packer. Те, кто хотел, чтобы все было красиво, давно купили себе эктивстейтовский PDK и не парятся.
В опенсорсе полно бессмысленных проектов.
Бессмысленных по экономическим причинам, да и просто так.
Вместо того, чтобы сделать что-то одно, но хорошо, народ начинает плодить проекты, при этом очень небольшое количество из них доходит до нормального рабочего, стабильного состояния.
Пример — огромное количество на фиг не кому не нужных дистрибутивов линукса (на основе убунты, например).Кстати тут, в обсуждении этой новости, я впервые увидел разумные аргументы на тему денег. Да, действительно зря мужик денег попросил, лучше бы он свой труд во что-то другое вложил.
Все-таки у проприетарных контор процесс разработки более сконцентрированный, потому, что все упирается в деньги. Они не могут себе позволить распыляться на всякое барахло.
Неужели народ из открытых проектов это тоже начал потихоньку понимать?
пусть это называется "экстенсивное программирование"
много бессмысленных проектов - это естественный процесс. Они важны своим создателям
.
эта тема возникает регулярно здесь на форуме под разными личинами. Имхо свободными могут быть только типовые решения, когда масса свободных разработчиков и проектов переходит из количества в качество, и появляются действительно классные реализации таких типовых решений. А нетиповое усё - за денежку
>В опенсорсе полно бессмысленных проектов.В мире полно бессмысленных людей.
>Вместо того, чтобы сделать что-то одно, но хорошо, народ начинает плодить проекты, при этом очень небольшое количество из них доходит до нормального рабочего, стабильного состояния.
Вместо того чтобы сделать одного суперчеловека, природа ваяет всяких придурков.
>Пример — огромное количество на фиг не кому не нужных дистрибутивов линукса (на основе убунты, например).
Пример — огромное количество на фиг не кому не нужных китайц..(подставить нужное)