HOP 8.4終了

8.3と8.4はほぼセット。8.4だけで40page越えなので読み応えがあるし、ちょっと疲れた。

算術的な表現(四則演算)のための字句解析器や構文解析器をperlで実装するわけだが、リスト表現って強力だと。

あとleft recursionを無限ストリームにしていくとことか凄い。

War Stories / U.N.K.L.E.

やっと購入

ProductName War Stories
Unkle
Red Int / Red Ink / 1405円 ( 2007-07-24 )


内向的だけど攻撃的、しかもダークで言うことなし。でも前々作のサイエンスフィクションよりはまろやかになった気が。

あーかっこよすぎ、ちゃんと予約して買っておけばよかった。今まで放っておいたことを後悔。Hold My Handが良い。

じぇんとる麺

横浜家系のコッテリ豚骨醤油ラーメン

U隊長がコッテリなのあまり好きじゃないのであまり、コテコテのラーメンは食べないが、たまたま一人でぶらぶらするチャンスがあったので、行ったことのないラーメン屋さんということで初じぇんとるしてみた。

場所は三島高校の裏手くらい。

20071014057 20071014058

普通にラーメン(煮玉子つけて)。あの油にはほうれん草とキャベツは必須だわな。油少な目でも良かったかも。麺は太めで好きな感じ。

食べ終わってからの微妙なあとに残る感がに久々に家系食べたって感じですな。

じぇんとる麺

WebService::AudioscrobblerをAlbumに対応

WebService::Audioscrobblerってのがあるんだけど、Artist,Track,Tagにしか対応してないのでAlbumにも対応させてみた。

WebService-Audioscrobbler-wAlbum.tar.gz

use WebService::Audioscrobbler;

my $ws = WebService::Audioscrobbler->new;
my $user  = $ws->user('kzfm');

my @albums  = $user->albums;

for my $album (@albums) {
  print $album->name . ":". $album->asin . "\n" if defined $album->asin;
}

さて実行

$ perl wa.pl
Bricolage:B000003S7Y
Hospital Mix 4:B0006ULVZW
Think Tank:B0000931OG
Bass Is Maternal:B00004T90L
Tally Ho!:B00000D9VK
Emperor Tomato Ketchup:B000002HK2
Sweetbox:B00000AFYM
Bodily Functions:B00005B9JQ
Hand on the Torch:B000005HB8
Supergrass:B00004S95F
Temperamental:B00001QENY
Inside Life:B0000046KU
Lifeforms (disc 2):B000003RVR
Night Food:B0000677MF
Hail to the Thief:B000092ZYX
My Point of View:B0009XE874
The Understanding:B0009RQRP6
On:B000002BCA
Amnesiac:B00005B4GU
無罪モラトリアム:B00000JD1I

perlでλ

謎のモジュールがあがってた。

my $code = sub {...};

my $code = λ{...};

と書ける。

lambda

HOP 8.2

Higher-Order Perl 8章

地道に理解しながら。

my $parser = make_parser_for_grammer 'expression',
  {
   expression => [['INT', '+', 'expression'],
          ['INT', '*', 'expression'],
          ['(', 'expression', ')'],
          ['INT'],
          ],
   },
  ['(', 'INT', '*', '(', 'INT', '+', 'INT', ')', ')']
  ;

$childrenの$productionの@childをprint

INT,+,expression
INT,*,expression
(,expression,)
INT

##
(,INT,+,expression,)
(,INT,*,expression,)
(,(,expression,),)
(,INT,)

##
(,INT,*,INT,+,expression,)
(,INT,*,INT,*,expression,)
(,INT,*,(,expression,),)
(,INT,*,INT,)

##
(,INT,*,(,INT,+,expression,),)
(,INT,*,(,INT,*,expression,),)
(,INT,*,(,(,expression,),),)
(,INT,*,(,INT,),)

##
(,INT,*,(,INT,+,INT,+,expression,),)
(,INT,*,(,INT,+,INT,*,expression,),)
(,INT,*,(,INT,+,(,expression,),),)
(,INT,*,(,INT,+,INT,),)

childrenでとりあえずgrammarから生成できる子を生成しといてis_interestingでフィルタリング(DFS)

ProductName Higher-order Perl: A Guide To Program Transformation
Mark Jason Dominus
Morgan Kaufmann Pub / ¥ 7,588 (2005-05-30)
通常24時間以内に発送

8章から突然難易度が上がる気がする。

ミトシー帰りは卓次郎商店でつけ麺

三連休の最終日はゆっくりしていたいところだったが、謎の強い要望によりミトシーに。

っていうか、隣の内浦漁港には釣りに何度も通ったがミトシーは初めて。釣り場の近くにペンギンがいたなんて、、、、

帰りは414を通って途中にある卓次郎商店へ。

卓次郎商店

つけ麺。

つけ麺 つけ麺

むちむちの太麺と、節節したスープが美味い。

黒龍 ひやおろし

黒龍のひやおろし。

黒龍

原酒なのでちょっときついかな。

Amazonのvinyl

最近Amazonがvinylに対応したのでlast.fm でよく聞いてるアーティストの amazon 新譜フィードをつくる pipesが良すぎ。

vinylがvinylを呼ぶって感じで散財間違いなし。

会議会議会議

かいぎかいぎかいぎで嫌になった。

かいぎ漬け