2010-02-01から1ヶ月間の記事一覧

bytes.pm will be deprecated in Perl 5.12

[追記]その後deprecated(廃止予定)ではなくstrongly discouraged(強く非奨励)に状態が改められたが、使用すべきでないという点は変わらない。[/追記] bleadperlのコミットログを眺めていたところ,以下のような記述があった。 deprecate bytes.pm この件…

Mouse will become as strict as Moose

Mouse 0.51からエラーチェックをMooseと同じくらい厳しくする予定です。具体的には,以下の場面で警告や致命的エラーを出します。 has()に未知のオプションが渡されたとき警告 おそらく綴りミスであるため has()によってアクセサが生成されず,かつ is => 'b…

Perl 5.11.5 features

Perlの開発版である5.11系列の最新版がリリースされた。 http://search.cpan.org/dist/perl-5.11.5/ 今回もバグフィクス中心なので,特に列挙すべき新機能はない。組み込みファイルハンドルのクラスが修正されたのが唯一の大きな変更か。 5.11.5までは,組み…

Strict constructor is available in Mouse

Strict constructor, which will warn unknown (maybe misspelled) arguments, is as useful as the strict pragma. For Moose, there is an extention to provide strict constructor: MooseX::StrictConstructor. Now Mouse 0.50_02 supports strict const…

About %DB::sub and NYTProf

NYTProfのHTML出力では,サブルーチンが定義された位置に対するリンクがある。これは,%DB::subというデバッグAPI*1を通じて取得している。 perldoc DB: DB - programmatic interface to the Perl debugging API (snip) %DB::sub The keys of this hash are …

ホットスポットを最適化する

最適化するのに相応しいサブルーチンのみ最適化できるように,optimizer::hotspotというモジュールを考えてみた。まだCPANクオリティではないのでgithubのみ。 http://github.com/gfx/Perl-optimizer-hotspot 仕組みとしては,PL_peeppをフックして,生成さ…

Perlの最適化の概要

Perlコアの最適化をまとめておく。まず,opcodeの最適化を主に行っているのは,op.cのPerl_peep()である。ただし,これは最適化以外の処理,たとえばuse strict 'subs'の下でベアワードに対して致命的エラーを投げる,なども行っている。さて,Perl_peep()の…

XS基礎文法最速マスター

元ネタ:Perl基礎文法最速マスター(id:perlcodesample) XSを始めるための手順といくつかの要素の解説です。C言語をある程度知っている人でも,これを読んだだけでXSの基礎をマスターしてXSを書くことができるようにはなっていません。リファレンスでもありま…

Re: プログラミングについての雑記

プログラミングについての雑記(id:perlcodesample) プログラミングが上達するコツは簡単なプログラミングをできるだけたくさん書いて実行することです。本やインターネットを読むだけではプログラミングは上達しません。読むのは3割、書くのが7割ぐらいにな…