Проекты одобренные для 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 C<$chainsaw.WHY>
        sub fu (             #= This text stored in C<&fu.WHY>
            Any     $bar,    #= This text stored in C<$bar.WHY>
            Mode    :$baz,   #= This text stored in C<$baz.WHY>
            Context :$the_context_in_which_we_fu?
                             #= This stored in C<$the_context_in_which_we_fu.WHY>
        ) { ... }
    

    Программа сможет менять свое поведение в зависимости от того, что написано в документации по ней :-) ( почему бы и нет ? ).

Благодаря наводке от @bacek, прочитал переписку-обсуждение [5], посвященную реализации Pod на уровне Parrot VM.

От себя добавлю, что в ранних редакциях Synopsis 26, формат Pod преподносился как диалект более общего языка разметки - Perldoc. И здесь был намек, что для каждого языка, работающего поверх Parrot, будет свой диалект (сугубо мое предположение). Возможно принцип "все простое должно оставаться простым" победил и в спецификации оставили определение Pod, как языка разметки для Perl 6.

NOTES

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

All Articles