こんにちは、Perl 6アドベントカレンダーの一日目の投稿になります。
去年のアドベントカレンダーでも Perl6を学ぶ時に参考になるページ という投稿がありました。
ただ、1年経てばなにかしら差分があると思うので、前回紹介されなかったページも含めて、今回は新たに2016年版の参考になるページを書いていきたいと思います。
チュートリアル
Perl 6 Introduction
- 複数言語用意してありますが、英語版が最新です。その他の言語は英語版の更新後に各担当の人が翻訳するという流れになっています。現在のところ、日本語版は私が不定期で翻訳しています。
- 非公式なチュートリアルではありますが、内容についてはPerl6のコア開発メンバーの一人であるlizamat氏のチェックが入っています。(※上記リポジトリのコラボレーターの一人です)
rakudo-and-nqp-internals-course
- RakudoやNQPの内部実装に関するチュートリアルです。
- 著者はPerl6のコア開発メンバーのJonathan Worthington氏です。
公式ドキュメント
Perl 6 Documentation
- 公式ドキュメントです。開発メンバーによってメンテナンスされています。
- クエリによっては公式ドキュメント内をうまく検索できないこともあるかもしれません。実は、上記公式ドキュメントのすべての内容を一つにまとめたページも存在します。そういうときは、このまとめページに対してブラウザの機能を使ってページ内検索をかけるとよいでしょう。
Perl6 Design Document
- 実はこのページに書いてある内容はPerl 6の現在の仕様ではありません。ただ、後述のircの #perl6 で現在でも会話の中で言及されることのあるページなので覚えておくとよいでしょう。
ソースコード
roast
- roastはPerl 6のテストケースであり、仕様です。公式ドキュメントを探しても情報がみつからないときはroastのソースコードを読むとよいでしょう。
rakudo
- Perl 6の一番メインの実装です。(※この表現は正確じゃないかもしれないので、詳しくは公式ドキュメントを読んでください。)
- 公式ドキュメントやroastでは物足りない場合はこちらを読むとよいでしょう。
perl6-all-modules
- perl6のすべてのモジュールをまとめたリポジトリです。これも公式ドキュメントやroastを探しても情報がみつからないときに読むとよいでしょう。
その他
R6 Ticket Tracker
- Request Tracker(a.k.a. RT) に送られたバグ報告をタグごとにまとめたページです。ブラウザのページ内検索機能を使えば、公式のページ よりもこちらの方が検索のしやすさは上だと思います。
- バグっぽい挙動にあたってしまったときはこのページを参照するとよいでしょう。
- ちなみに、新しいバグを発見してしまった場合は、
rakudobug [at] perl.org
にメールを送ればバグ報告することができます。タイトルへのタグの付け方などは https://github.com/rakudo/rakudo/wiki/rt-introduction を参照すると良いでしょう。
Weekly changes in and around Perl 6
- Perl6界隈の今週のダイジェストを伝えるブログです。ちなみに、ecosystemにモジュールを登録すると紹介してもらえます!Perl6の文法を学んだらどんどんモジュールを登録していきましょう。
- ちなみにだいたい書いているのは上の方でも出てきたlizmat氏です。
perl6 irclog
- ircの #perl6 のログです。
- ちなみに、ircの #perl6 ではたくさんのbotプログラムが用意されています。例えば、cameliaとトークして、
m: <Perl6のプログラム>
と打つと、最新のPerl 6を使ってプログラムを実行することができます。興味のある方はログを見るだけでなく実際に入ってみて試してみるとよいでしょう。 - また、ircでは開発メンバーが常駐しているので、何か困ったことがあれば気軽に質問すればよいと思います。ちなみに、私は今まで4,5回ぐらい質問しました。
以上、Perl6を学ぶ時に参考になるページ 2016 でした。
あまり去年と差分がなかったかも。