モジュールを公開してみよう

uasi
2010-12-08

5日目の「[/articles/advent-calendar/2010/perl6/5:title=モジュールを書いてみよう]」は読みましたか?モジュール書いてみましたか?もう書いた?すばらしい!

そうすると次は……公開してみたくなりますよね?

まだ書いていない人も……何か書きたい!公開したい!と思いませんか?

今日はそんな人のために、 Perl 6 モジュールを公開して に登録するまでのステップを説明します。

0. モジュールを書こう

何はなくともモジュールを書きましょう。実用的なものを書くもよし、 Perl 5 や他の言語のモジュールを移植するのも勉強になりますし、おふざけモジュールだってかまいません。

適当なディレクトリ(以下 $project とします)を作って、モジュールを $project/lib 以下に置きます。

依存する Perl 6 のモジュールがあるなら、 $project/deps.proto にプロジェクト名を改行区切りで書きましょう。

perl6-File-Tools
DateTime-Parse

こんな感じです。

1. README を書こう

$project/README でモジュールの内容を説明しましょう。日本語で数行書くだけでもOKです。

実際のところ書かなくたっていいのですが…… README があるプロジェクトは Perl 6 Modules Directory に載るとバッヂが付きます

2. テストを書こう

何はなくともテストは大事。$project/t にテストファイルを置きましょう。

Perl 6 は言語仕様も実装も日々変化しています。仕様の変更や処理系のバグにすぐ気づくためにもテストを書いておきましょう。バッヂも付きます :)

3. GitHub で公開しよう

$projectGitHub にアップロードしましょう。

4. モジュールリストに載せてもらおう

書いたモジュールを に登録してもらいましょう。

僕(uasi)が MessagePack.pm6 を書いたときは、モジュールリストは proto のリポジトリで管理されていたのですが、 Perl 6 のモジュール書いたよーと Twitter でつぶやいたら向こうから載せてくれたのでした。

今だったら ecosystem を fork して project.list を書き換えて pull request を送るか、 irc.freenode.org の #perl6 チャンネルでお願いしてもいいかもしれません。

番外編. 分からないことはつぶやいてみよう

Perl 6 でコードを書いていると分からないことが色々出てくると思います。

  • Perl 5 のコレは Perl 6 でどう書くの?
  • このコードが動かないんだけど何か間違ってる?それとも処理系のバグ?
  • この言語仕様って変じゃない?

そんなときは Twitter でハッシュタグ #perl6 をつけてつぶやいてみましょう。僕(@uasi)に分かることであれば何かしらお答えします。

また、 Web.pmproto の開発者である Carl Mäsak さん(@carlmasak)も、 #perl6 タグのついた発言を(日本語で書かれていても!)よく読んでいるようで、英語で返信してくれることがあります。