Perl6

2007年4月 7日 (土)

[YAPC] 正規表現にフォーカスしたPerl6入門

YAPC::Asia 2007 Tokyo で発表した資料を公開しました。

Yoshinori Takesako - s/ Perl5 Regular Expression / Perl6 Regex and Rule /mixes;

正規表現にフォーカスしたPerl6入門 - s/ Perl5 Regular Expression / Perl6 Regex and Rule /mixes;

Perlの黒魔術の一つであった正規表現。後付の拡張を繰り返した結果、問題解決の強力な武器に成長した反面、人間にも計算機にも読みにくい諸刃の剣にもなってしまいました。そこで再設計されたのがPerl6!
正規表現の書き方がPerl5からどのように変わるのか、これからPerl6のプログラムを書いてみようという人向けにわかりやすく解説します。

Software Design 2007年2月号の巻末特別企画「先取り Perl6正規表現カタログ ~ Perl5からの変更点を徹底解説!」の記事がベースになっています。

Perl6ではPerl5からの後方互換性は考慮しなくなったので、プログラムの書き方が変わっています。 したがって、Perl6の文法の他にPerl6での正規表現の書き方の事を知っていないと、 自分でPerl6のコードを書くときや人の書いたPugsのサンプルコードを読むときなどに困ってしまうことになります。 正規表現の部分はPerl6の実装の中で遅れているところではあります。最新のPugsやPerl6-Regexモジュールでまだ動作しない構文も多いですが、過去のしがらみを捨てて一から再設計して、人間にもコンピュータにもやさしい表現を目指しています。

Perlの正規表現が難しい、と言われてきた原因を再考するには、Perl6の言語仕様は非常に示唆的で良い題材だと思います。

2007年1月18日 (木)

Perl6正規表現リファレンス(Software Design 2007年2月号)

今日1/18発売のSoftware Design 2007年2月号にて、巻末特別企画「先取り Perl6正規表現カタログ ~ Perl5からの変更点を徹底解説!」を書かせていただきました。

Software Design 2007年2月号 先取り Perl6正規表現カタログ ~ Perl5からの変更点を徹底解説!

記事については、難易度の設定が非常に難しかったのですが、Perl5から変更のあった記法を中心にピックアップし、 Perl6の一つの実装である最新のPugsで動作するサンプルを中心に正規表現の書き方を解説しました。 なので、Perl6の元々の仕様とは若干異なっている部分がありますし、正しくない部分もあるかと思います。 間違いがあればブログで指摘していただけると嬉しいです。

巻末特集は、毎回デスクトップリファレンスとして使えることを目指して書いていますので、 Software Design巻末リファレンスの正しい読み方 を参考に、冊子を作ってみてはいかがでしょうか。

Software Design巻末リファレンスの正しい読み方

他にも、柴田さんの「速報!Python 3000」の記事などもあり、 今月発売号のSoftware Designは、かなり先取りしてる感が溢れる内容になっていると思います。 OSSライセンスのわかりやすい解説や、コミュニティについての記事も面白かったですね。 OSASK河合さんのインタビューとか。 あと、親会社の「サイボウズに聞く、グループウェアの導入のツボ」という記事も載っていたりします。

そういえば、最近、gihyo.jpってサイトができたんですね。 大垣さんの「なぜPHPアプリにセキュリティホールが多いのか?」という Web媒体の記事も載っていたりして結構面白いです。技評さんのこれからの動きが非常に楽しみです。

追記:

アンケートに答えて LL Ring Tシャツげっと

読者プレゼントのページを見たら、なんとLL Ring Tシャツが出品されてるではありませんかっ。これにはびっくり。 ぜひアンケートに答えて限定Tシャツをゲットしてください。

2006年3月29日 (水)

YAPC::Asia 2006 Tokyo 1日目「Introduction to Pugs」の翻訳

YAPC::Asia 2006 Tokyo の一番最初の発表「Introduction to Pugs」の翻訳を私が担当することになっていたので徹夜で作業。ギリギリになってしまいましたが何とか間に合いました。

pugsの紹介
Introduction to Pugs(高橋メソッド日本語版)

本当は英語の発表資料に映画の字幕のように日本語訳を付ける予定だったのですが、Audreyたんのアツイ要望で英語を極力排除した日本語onlyのスライドを準備することになりました。日本語のスライドを見せながら通訳なしで発表者がそのまま英語で話すというちょっと新鮮なスタイルでした。

Audreyたんが日本向けにテロップを付け直した動画motd.p6(日本語字幕)の翻訳も載せておきます。

Greetings. こんにちは。

This is Audrey, bringing you the message of the day from the pugs
examples/ dircetory as contributed by the lambdacamels.
Audreyです。今日は世界中のPugsの開発者達(λラクダ)から
pugsのexamples/ディレクトリに寄せられたメッセージをお届けします。

Pugs is stealing all the good ideas it can from other languages.
Pugsは他の言語から良いアイデアを可能な限り盗んでいます。

Pugs is providing the capability to evolve a little faster.
Pugsのおかげで、あなたは人よりも一歩先を行くことができます。

Pugs is not going to bite.
Pugsは噛み付いたりしません。:-)

Pugs is happening now.
Pugsは今も変わり続けています。

Pugs is a love letter to the Cabal.
Perl6の使徒達に向けたラブレターです。

Pugs is Perl 6, raised to the power of woot!
PugsはとにかくすっごいPerl6なんです!

Pugs is caching in the tuits.
Pugs は人々の抑圧されたハック魂を解き放ちます!

Pugs is sensitive (to semantic, pragmatic, and cultural context).
文法も、実用性も、これまでの歴史も大事にします。

Pugs is test-driven; it's going great shakes, and committed to change.
Pugsはテスト駆動ですっごく良くなっています。

Pugs is a proof of concept of a Perly functional programming language.
Perl的な関数型言語が実際に動くという証拠にもなりました。

Pugs is a hyperoperator applied to the collective Perl imagination.
Perlのイマジネーションをすべて結集した>>ハイパー演算子<<なのです。

Pugs is a grab-bag of new ways to shoot yourself in the foot.
Pugsではありとあらゆる方法で自分の足を撃つことができます。
とにかくハマること間違いなし(笑)

Pugs is keeping the wheels but reinventing the vehicle!
Pugsでは車輪の再発明をせずに乗り物を再発明してるんです!

この翻訳には大変気を使いましたが、私の力不足により、元の英語のニュアンスが失われてしまった部分も多かったと思います。YAPCの舞台裏ということで、ある1行の翻訳のやりとりの例を紹介したいと思います。

続きを読む "YAPC::Asia 2006 Tokyo 1日目「Introduction to Pugs」の翻訳" »

2005年11月 6日 (日)

Journal of autrijus で Shibuya.pm が紹介されました

miyagawaさんから教えていただいたのですが、PugsをHaskellで実装した天才プログラマーAutrijus Tang (唐宗漢)氏のJournalで、先日のShibuya.pmのセミナーの事が紹介されていました。

Last week's Shibuya.pm meeting features Catalyst, Ajax, Pugs and ICFP. Takesako-san did a nice presentation (PPT in Japanese) about Pugs, though some slides leaves me feeling excessively flattered. ;-)

Journal of autrijus: Eighth day at Liz's - Parrot interop.


続きを読む "Journal of autrijus で Shibuya.pm が紹介されました" »

2005年11月 4日 (金)

Shibuya.pm テクニカルトーク#6でHaskellを語る

約1年ぶりに開催されたShibuya Perl Mpngers テクニカルトーク#6で発表してきました。

去年と同様IIJさんの大会議室をお借りしたのですが、途中、会場に人が収まりきらなくてパネルをぶち抜いて2つの会議室をつないだりしました。最終的に120人超のPerlモンガー達が一同に集まった模様です。さすが世界最大の.pmです。

私は「Pugsでお手軽Perl6入門」という題目で発表させていただきました。参加された方々の感想を見てみると「Haskellすげー」「モナディウスすげー」とか書かれていて、プレゼンの内容は果たしてこれで良かったのかどうか不安が残ります。(Perl関係ないじゃん、とか突っ込まないでください。)

これを機にPerl6Haskellに興味を持ってくださる人が増えるといいなぁ、ということでよろしくお願いします。

続きを読む "Shibuya.pm テクニカルトーク#6でHaskellを語る" »