■2007-04-06
* [メモ] YAPC::Asia2007会場にて
ご好意(というかネタ?)で『マルチ中毒』を販売するスペースを頂きました。ほどよく晒されることができたのではないでしょうか。でもおかげさまで手持ちの在庫がはけました。ありがとうございます。そして買ってくださった方、手にとってご覧になってくださった方、ありがとうございます。
いくつか、質問がありましたので、ここで回答。
・表紙のイラスト、写真にとってWebに載せてよいの
奥付に無断転載禁止となっていますが、かまいません。(「Perlインプ」自体の今後の取り扱いについてはサークル内で検討します。)
・漫画ないじゃないの!
ある方が買った直後に中をみて発した質問です。質問じゃないですね。魂の叫びとしか思えません。 漫画ないんです。イラスト表紙だけなんです。ごめんなさい。ごめんなさい。
・マークパンサーと関係あるの?
全然違うよ。全く関係ないよ。
『マルチ中毒』の由来ですが、メンバーの一人がTo Heartのマルチが好きなのと、アントニオ・ネグリの「マルチチュード」からです。 ……タイトル決めるときに酔っ払ってたので私もこの誌名に賛成したのですが、改めたい。
* [メモ] JSON
JSON::Syckが安定したころから、JSONモジュールへのモチベーションがなくなってました。ので、バグレポなども1年近くほったらかしになってたのですが、JSON::XSが出たのを機にやる気が。
とりあえずJSON::XSとインタフェースを同じにする。速さ重視でUNICODEの扱いがいい加減だったので、JSON::XSに準拠させる。スピードはもうあきらめる。どうせXSにかなわないのだし。ここまでは一応古いモジュールの修正でできたので、あとは全面的にコードを書き直す。
で、round-trip integrityの問題(JSON::XSのドキュメントにある例: JSON.pmは、'2.0'としてあらわせる文字列を文字"2.0"としてJSON化せずに数値2.0としてしまう。これを再度Perlデータに戻すと、"2.0"ではなく整数2になってしまう)は、PurePerlだと変数の内部構造へのアクセスが面倒だから無視しようと思ってたけど、B使えばよいか。
* [Perl][メモ] Bを使って値の内部状態をチェックしてみる
ある変数がIV型かNV型かPV型か知りたい場合。
use strict; use B (); sub to_Bobj ($) { B::svref_2object(\$_[0]); } sub sv_type ($) { B::class( to_Bobj(shift) ); } sub is_IOK ($) { to_Bobj(shift)->FLAGS & 0x00010000 } sub is_NOK ($) { to_Bobj(shift)->FLAGS & 0x00020000 } sub is_POK ($) { to_Bobj(shift)->FLAGS & 0x00040000 } my $hoge = 1; say"$hoge"; # PVIV型に変化 for my $var (1, "1", 1.0, undef, $hoge) { say "SV type is " . sv_type($var); say "IOK" if (is_IOK($var)); say "NOK" if (is_NOK($var)); say "POK" if (is_POK($var)); }
むーん。とりあえず標準モジュールだけで実現可能か。
YAPCから戻って、社内MLでむちゃむちゃ長文のレポートを書いた。 ...
Perlコミュの中で「Perlインプ」を自由に使えるようにしてくれるとうれしいです.
その方向で調整したいと思っています。