Проекты одобренные для Google Summer of Code 2011
Среди проектов, одобренных для GSofc 2011 [1], хотел бы отметить пару.
Standardization of core documentation parsing tools [2]
Задача, предусматривает замену устаревшего
Pod::Parser
наPod::Simple
в утилитах из базовой поставки Perl 5. Данный проект касается Perl 5 POD.Pod parser for Rakudo [3].
По данному проекту ожидается создание встроенного в Rakudo парсера Perl 6 Pod. Благодаря этому часть документации будет доступна из программного кода, как и предполагает Synopsis 26 [4] в разделе описания блоков-деклараторов (Declarator blocks).
Пример такого блока:
my $chainsaw; #= This text stored in
$chainsaw.WHY
sub fu ( #= This text stored in&fu.WHY
Any $bar, #= This text stored in$bar.WHY
Mode :$baz, #= This text stored in$baz.WHY
Context :$the_context_in_which_we_fu? #= This stored in$the_context_in_which_we_fu.WHY
) { ... }Программа сможет менять свое поведение в зависимости от того, что написано в документации по ней :-) ( почему бы и нет ? ).
Благодаря наводке от @bacek, прочитал переписку-обсуждение [5], посвященную реализации Pod на уровне Parrot VM.
От себя добавлю, что в ранних редакциях Synopsis 26, формат Pod преподносился как диалект более общего языка разметки - Perldoc. И здесь был намек, что для каждого языка, работающего поверх Parrot, будет свой диалект (сугубо мое предположение). Возможно принцип "все простое должно оставаться простым" победил и в спецификации оставили определение Pod, как языка разметки для Perl 6.
[1]Проекты, одобренные для участия в Google Summer of Code 2011. http://www.google-melange.com/gsoc/projects/list/google/gsoc2011
[2]Standardization of core documentation parsing tools. http://www.google-melange.com/gsoc/project/google/gsoc2011/mg/22001
[3]Pod parser for Rakudo. http://www.google-melange.com/gsoc/project/google/gsoc2011/tadzik/18001
[4]Спецификация формата Pod (Synopsis 26 ).https://github.com/zag/specs/raw/master/S26-documentation.pod
[5] parrot.dev: "POD parser". http://groups.google.com/group/parrot-dev/browse_thread/thread/c4027eb1dccb11a6/8d4279a0fbf7a01f?lnk=gst&q=pod&pli=1