Откуда узнать про Perl 6

Preview:

DESCRIPTION

 

Citation preview

Откуда узнатьпро Perl 6

2000

Про Perl 6 говорят с

2009

Сейчас

Готов ли Perl 6?

Готов ли Perl 6?

Ну почти

Как изучать?

Как изучать?

Как обучать?

Как изучать

Знать Perl 5

Как изучать

Знать Perl 5

изучить отличия

Как изучать

Знать Perl 5

изучить отличия

Не знать Perl 5

Как изучать

Знать Perl 5

изучить отличия

Не знать Perl 5

изучитьдокументацию

Предыстория

Parrot 0.1.0

languages/perl6

Parrot 0.1.0

Для компиляции файла грамматики Perl 6 нужен 1 ГБ памяти

Parrot 0.1.0

Настоящий байткод

PUGS

PUGS

Perl User’s Golfing System

PUGS

Perl User’s Golfing System

Написан на Haskell

PUGS

Perl User’s Golfing System

Вместе с GHC собираетсячаса четыре

PUGS

Perl User’s Golfing System

Самое большое подмножество языка

на тот момент

use v6;

use v6;

Модули на CPAN для Perl 5

use v6;

Moose?

use v6;

5.10?

Perl 6 не один

Pugs

Rakudo

SMOPKindaPerl6

Elf

Rakudo

Rakudo

Rakudo-do — путь верблюда (яп.)

Rakudo

Компилятор в PIR-код

Компилятор Rakudo

rakudo.org

Виртуальная машина Parrot

parrot.org

Документация, тесты и грамматика

pugscode.org

Что почитать

Июнь 2003

Июнь 2004

Июнь 2004 2005

2005

2007?

Это все уже история

Написано много и давно

Документация

RFCs,

Apocalypses, Exegeses

Все это уже история

RFCs,

Apocalypses, Exegeses,

Synopses

Synopses

perlcabal.org/syn

Synopses

perlcabal.org/syn

S1 . . . S33

S = Synopses

S = Spec

svn.pugscode.org

Спецификация

pugs/docs/Perl6/Spec

Набор тестов

pugs/t/spec

S02‐builtin_data_typesS02‐lexical‐conventionsS02‐literalsS02‐magicalsS02‐namesS02‐names_and_variablesS02‐one‐pass‐parsingS02‐polymorphic_typesS02‐whitespace_and_commentsS03‐junctionsS03‐operatorsS04‐blocks‐and‐statementsS04‐closure‐traitsS04‐declarationsS04‐exceptionsS04‐statement‐modifiersS04‐statementsS05‐captureS05‐grammarS05‐interpolationS05‐massS05‐matchS05‐metacharsS05‐metasyntaxS05‐modifierS05‐nonstrings

S05‐substitutionS05‐syntactic‐categoriesS05‐transliterationS06‐advanced_subroutine_featuresS06‐curryingS06‐macrosS06‐multiS06‐operator‐overloadingS06‐otherS06‐routine‐modifiersS06‐signatureS06‐traitsS09‐autovivificationS09‐subscript_sliceS09‐typed‐arraysS10‐packagesS11‐modulesS12‐attributesS12‐classS12‐constructionS12‐enumsS12‐introspectionS12‐methodsS12‐roleS12‐subset

S12‐traitsS13‐overloadingS13‐syntaxS13‐type‐castingS14‐rolesS14‐traitsS16‐filehandlesS16‐ioS16‐unfiledS17‐asyncS28‐named‐variablesS29‐anyS29‐contextS29‐conversionsS29‐osS29‐rangeS29‐typeS32‐arrayS32‐containerS32‐hashS32‐ioS32‐listS32‐numS32‐scalarS32‐strS32‐temporalS32‐trig

Грамматикаpugs/src/perl6/STD.pm

STD.pm150 КБ

STD.pm5375 строк

Кого почитать

Мориц Ленц

perlgeek.de

Габор Сабо

szabgab.com

Джонатан Вортингтонuse.perl.org/

~JonathanWorthington

Карл Мэсак

use.perl.org/~masak

Патрик Мишо

use.perl.org/~pmichaud

Илья Беликин

ihrd.livejournal.com

perl6.ru

__END__

Андрей Шитов

http://shitov.ru | andy@shitov.ru

Recommended