<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>SICP / Drkcore</title><link>http://blog.kzfmix.com/SICP</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Tue, 12 Jan 2010 11:06:55 +0919</lastBuildDate><item><title>みえないラムダが見えてきたヨ（あと括弧）。</title><link>http://blog.kzfmix.com/entry/1187098134</link><description>&lt;p&gt;SICPのおともにpythonインタプリタとかperlshとか&lt;a href="http://mochikit.com/examples/interpreter/index.html"&gt;mochikitのインタプリタ&lt;/a&gt;なんかを併用すんだけど。&lt;/p&gt;

&lt;p&gt;mapで遊んでみるわけだ、&lt;/p&gt;

&lt;p&gt;perlだと&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;main[118]$ @numbers = (1,2,3,4,5)
main[120]$ map $_+5 , @numbers
6
...
10
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;なわけで、pythonだと&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; numbers = [1,2,3,4,5]
&amp;gt;&amp;gt;&amp;gt; map(lambda (x): x +5 , numbers)
[6, 7, 8, 9, 10]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;さて、SICPでググルとすぐに目に飛び込んでくる&lt;a href="http://0xcc.net/misc/sicp.html"&gt;『計算機プログラムの構造と解釈』について&lt;/a&gt;に引用されている、あのフレーズを思い浮かべる。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;弟子が尋ねた。「先生、私は先生がカッコをまるで魔術師の ように扱っているのを常々敬服しています。どうすれば先生のようになれ るのでしょうか?」
  師「えっ? カッコ? あ、そうか。そんなものもあったな。いやあ、 すっかり忘れておったわ」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;perlだと忘れてるどころか、そもそも括弧もないしラムダもないわけだ。でさらに、&lt;a href="http://www.rubycolor.org/takahashi/yapc2006/"&gt;YAPC2006でのバベルの話&lt;/a&gt;が頭をよぎった。&lt;/p&gt;

&lt;p&gt;つまり最近lispが楽しいのはperlのせいに違いないと。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51ZSMEJ9Y2L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;計算機プログラムの構造と解釈&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
ジェラルド・ジェイ サスマン,ジュリー サスマン,ハロルド エイブルソン &lt;br /&gt;
ピアソンエデュケーション / ￥ 4,830 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;しかし、&lt;a href="http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages"&gt;SICP in other languages&lt;/a&gt;にperlがないですな。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 11:06:55 +0919</pubDate><category>perl</category><category>SICP</category><category>Python</category></item><item><title>pythonでY-combinator(Z-combinator?)</title><link>http://blog.kzfmix.com/entry/1187003147</link><description>&lt;p&gt;SICPも2章に入り、お約束らしいchurch数のあたりでプチ詰まり。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/tanakaBox/20070723"&gt;SICPを読む(39) 問題 2.6 Church数&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.livedoor.jp/dankogai/archives/50458503.html"&gt;TuringとChurchの狭間で&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;とか参考にしながら、後者のほうはperlのコードがあるから理解しやすいなぁとかいいながら読み進めるが、途中からさっぱりわからん。というより、Y-combinatorを理解しないと先に進めなさそうなので、&lt;a href="http://www.loveruby.net/ja/misc/ycombinator.html"&gt;Y Combinator&lt;/a&gt;と&lt;a href="http://blog.livedoor.jp/dankogai/archives/50458503.html"&gt;TuringとChurchの狭間で&lt;/a&gt;を行ったりきたりしながらくらいつく。&lt;/p&gt;

&lt;p&gt;一通り理解した気がしたところで、perlのZ-combinatorをpythonで書いてみた。&lt;/p&gt;

&lt;p&gt;まず階乗のpython2.5から導入されたという、3項演算子を使ってみた。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; def f(n):
...     return 1 if n &amp;lt; 2 else n * f(n-1)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;こんな感じで書けるがなんか、、、perlの三項演算子のほうが好き。&lt;/p&gt;

&lt;p&gt;で、早速Z-combinator&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Z = lambda f: (lambda x : lambda y : f(x(x)))(lambda x : lambda y : f(x(x)))
fact = lambda f : lambda n :  1 if n &amp;lt; 2 else n * f(FORCE)(n-1)
FORCE = lambda a : a
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;実行&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; Z(fact)(FORCE)(7)
5040
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;pythonはラムダ式が書けるのでperlよりはすっきりと書ける感じ。&lt;/p&gt;

&lt;p&gt;一応pythonでもY-combinatorの形で実行したけどこれは無限ループした。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Z = lambda f: (lambda x : f(x(x)))(lambda x : f(x(x))) 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;perlやpythonのばあい、クロージャにして無理やり遅延させるので&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;our $FORCE = sub { my $a = shift; $a };
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;評価が先送りになんのはわかるんだけど、schemeで&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;(f 5)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;を&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;((lambda (x) (f x)) 5)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;にすると遅延するのがよくわからんかった。書き方変えてるだけにしか見えないんだけど。これはクロージャと同じものなのだろうかそれとも評価の順番が違うからなのか?&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 11:06:16 +0919</pubDate><category>SICP</category><category>Python</category></item><item><title>pythonのジェネレータがちょっと分かった</title><link>http://blog.kzfmix.com/entry/1207230548</link><description>&lt;p&gt;&lt;a href="http://natu.txt-nifty.com/natsutan/2008/04/python_sicp43no_a4bd.html"&gt;なつたん: Python でSICP4.3　Nondeterministic Computing&lt;/a&gt;を読んだら、非決定計算が割りとすんなり理解できた。去年は&lt;a href="http://blog.kzfmix.com/entry/1188481478"&gt;ambわかんね&lt;/a&gt;と思ったが、分かってみると&lt;strong&gt;あー非決定計算ね&lt;/strong&gt;と思えた。&lt;/p&gt;

&lt;p&gt;あとジェネレータが便利じゃないかと。それにしても遅延評価みたいなもんかなと思ったら、似たようなシチュエーションでも使えるのね。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.unixuser.org/~euske/doc/python/recursion-j.html"&gt;再帰とジェネレータ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;が面白く読めた。&lt;/p&gt;

&lt;p&gt;そういえば非決定計算を使った構造活性相関解析例なんかはあるのだろうか？prologなんかを使った例は見たことあるけど、実用例じゃなかったからな。pythonでかけるなら書いてみたいなぁ。&lt;/p&gt;
</description><pubDate>Tue, 12 Jan 2010 10:59:55 +0919</pubDate><category>chemoinformatics</category><category>SICP</category><category>Python</category></item><item><title>リストってもんがちょっと分かった気がする</title><link>http://blog.kzfmix.com/entry/1186747481</link><description>&lt;p&gt;SICPの2.2.1章の「並びの表現」っていうところを読んで、carとかcdrのでリストを表現の仕方を学んだ。&lt;/p&gt;

&lt;p&gt;これ読んでhaskellのアレが理解できた。アレってばhaskellの:演算子のこと。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[1,2,3]
= 1 : [2,3]
= 1 : 2 : [3]
= 1 : 2 : 3 : []
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;最初普通のhaskellプログラミングを読んだときにはよくわからなかったけど、carとcdrが理解できた今ならこれって凄く自然に思えてくるのが不思議。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797336021/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51DQnKX2opL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
青木 峰郎 &lt;br /&gt;
ソフトバンククリエイティブ / ￥ 2,940 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;それにしても、SICPおもしろいなぁ。なかなか進まないけど。&lt;/p&gt;
</description><pubDate>Wed, 16 Dec 2009 20:35:42 +0919</pubDate><category>SICP</category><category>Haskell</category></item><item><title>リストの覚書き</title><link>http://blog.kzfmix.com/entry/1186911139</link><description>&lt;p&gt;お盆なんでU隊長の実家にいったんやけど、やることないのでSICP読みながら遊び中。&lt;/p&gt;

&lt;p&gt;haskellの&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[1,2,3]
= 1 : [2,3]
= 1 : 2 : [3]
= 1 : 2 : 3 : []
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;は、gaucheで&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;(list 1 2 3)
= (cons 1 (list 2 3))
= (cons 1 (cons 2 (list 3)))
= (cons 1 (cons 2 (cons 3 '())))
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;カッコがないほうがわかりやすいナァ(ボソッと)。&lt;/p&gt;
</description><pubDate>Wed, 16 Dec 2009 20:35:18 +0919</pubDate><category>SICP</category><category>gauche</category><category>Haskell</category></item><item><title>モナド(副作用の意思を伝える?)</title><link>http://blog.kzfmix.com/entry/1188997471</link><description>&lt;p&gt;非決定性計算とかambでどんづまり。なんか色々みているうちにうっかりモナドに迷い込んでしまった。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/m-hiyama/20060419/1145432492"&gt;世界で一番か二番くらいにやさしい「モナド入門」&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;我々の課題を思い出してください：「副作用付き計算を、純関数で表現せよ」でした。カウンター（大域変数count）に触ることは副作用ですから、これをやめましょう。んじゃ、カウントアップできないじゃないか！ って？はい、そのとおり。でも、「カウントアップしたい」という意志を伝えることはできます。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://blog.livedoor.jp/dankogai/archives/50462995.html"&gt;Perlの駱駝のこぶにはMonadも入ってる&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;結局Monadを実装するためには、値と副作用を別々に保持し、値に関しては参照等価性を保ちさえすればいい。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;    $op0-&amp;gt;{value} = eval{
        $coderef-&amp;gt;($op0-&amp;gt;{value}, $op1-&amp;gt;{value});
    };
    if ($@){
        $op0-&amp;gt;{state} = $@;
        $op0-&amp;gt;{value} = undef;
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;evalで「失敗するかもしれない演算」を包んで「より大きな失敗するかもしれない演算」を作るって解釈すればよいのかな。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797336021/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51DQnKX2opL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
青木 峰郎 &lt;br /&gt;
ソフトバンククリエイティブ / ￥ 2,940 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;あとでふつうのHaskellプログラミング読み返そう。&lt;/p&gt;
</description><pubDate>Wed, 16 Dec 2009 20:35:01 +0919</pubDate><category>perl</category><category>SICP</category><category>Haskell</category></item><item><title>SICP5章　schemeでレジスタ計算機を模倣する</title><link>http://blog.kzfmix.com/entry/1238590245</link><description>&lt;p&gt;ずっと5章に興味が持てなくてほったらかしにしていたのだけど、読み始めた。5章は毛色が違うように感じてたのと、単に関数型言語が知りたいだけだったら3章までで満足できて、&lt;a href="http://blog.kzfmix.com/entry/1188481478"&gt;計算機の話って何が面白いんだろうか？&lt;/a&gt;なんて思ってたのだけど、（僕の場合）以下のような道のりを経て5章にたどり着いた。&lt;/p&gt;

&lt;h4&gt;EsoteicでVMとかエミュレータみたいなもんに興味がわいた。あと中間言語&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1230642262"&gt;Bolic&lt;/a&gt;とか。そういえば&lt;a href="http://blog.kzfmix.com/entry/1230452181"&gt;ゲノム言語&lt;/a&gt;とかつくったみたな。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839927847/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/41vb2HHFNJL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
原 悠 &lt;br /&gt;
毎日コミュニケーションズ / ￥ 2,814 ()&lt;br /&gt;
&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;h4&gt;プログラミングの力を生み出す本&lt;/h4&gt;

&lt;p&gt;Cのプログラムをアセンブリから眺めてみる。レジスタとかメモリとか意識できるようになった。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274132072/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/412BKEJ1A6L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;プログラミングの力を生み出す本―インテルCPUのGNUユーザへ&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
橋本 洋志,松永 俊雄,冨永 和人,石井 千春 &lt;br /&gt;
オーム社 / ￥ 2,625 ()&lt;br /&gt;
&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;h4&gt;CPUの創りかた&lt;/h4&gt;

&lt;p&gt;4bitCPUつくる。半加算器とか全加算器が論理回路でつくれるとかそういう話は楽しい。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839909865/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51ATDABNHEL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;CPUの創りかた&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
渡波 郁 &lt;br /&gt;
毎日コミュニケーションズ / ￥ 2,940 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;h4&gt;SICP5章&lt;/h4&gt;

&lt;p&gt;という長い道のりを経て、やっとSICP5章。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51ZSMEJ9Y2L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;計算機プログラムの構造と解釈&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
ジェラルド・ジェイ サスマン,ジュリー サスマン,ハロルド エイブルソン &lt;br /&gt;
ピアソンエデュケーション / ￥ 4,830 ()&lt;br /&gt;
在庫あり。&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;数日かけてバグとって、実際に&lt;a href="http://wiki.kzfmix.com/?SICP"&gt;GCDマシン&lt;/a&gt;が動いた時にはかなり感動。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gosh&amp;gt; (set-register-contents! gcd-machine 'a 206)
done
gosh&amp;gt; (set-register-contents! gcd-machine 'b 40)
done
gosh&amp;gt; (start gcd-machine)
done
gosh&amp;gt; (get-register-contents gcd-machine 'a)
2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;デバッグしながら中身の動きが理解できた。&lt;/p&gt;
</description><pubDate>Thu, 02 Apr 2009 06:22:26 +0919</pubDate><category>SICP</category><category>Scheme</category></item><item><title>相変わらず継続</title><link>http://blog.kzfmix.com/entry/1188896741</link><description>&lt;p&gt;継続のあたりをうろうろしてますが、先週末に到着した&lt;a href="http://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/continuations.html"&gt;On Lispの継続の章&lt;/a&gt;をつまみ読みしてまたちょっと理解がすすんだような気がしたようなしないような。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4274066371/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41PR3HVafyL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;On Lisp&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    ポール グレアム&lt;br /&gt;
    オーム社 / 3990円 ( 2007-03 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;最後の方で、&lt;/p&gt;
&lt;p&gt;&lt;a href="http://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/continuations.html"&gt;継続&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CPS変換を覚えればcall/ccを書くのは簡単だ． CPS変換を経たプログラムでは，全体に対する現在の継続が常に存在し， call/ccはその引数として何らかの関数を呼び出す単純なマクロとして実装できる．&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と書いてあるのだが、&lt;a href="http://blog.livedoor.jp/dankogai/archives/50812040.html"&gt;perl - to goto or not to goto, that's the continuation&lt;/a&gt;の先にどうやればperlでcall/ccが実装できるのかわからん。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://i.loveruby.net/ja/rhg/cd/continuation.html"&gt;rubyにはcall/ccがあるらしいですね&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;そもそもCall/CCがrubyに実装されている理由はただ一つで、「実装できてしまったから」である。&lt;/p&gt;
&lt;/blockquote&gt;</description><pubDate>Sun, 18 Jan 2009 22:39:14 +0919</pubDate><category>perl</category><category>SICP</category><category>Scheme</category></item><item><title>今年は本をよく読んだ気がする</title><link>http://blog.kzfmix.com/entry/1198157480</link><description>&lt;p&gt;SICPからHOPへのコンボがperlを扱う上でとても役立った。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51ZSMEJ9Y2L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;計算機プログラムの構造と解釈&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    ジェラルド・ジェイ サスマン&lt;br /&gt;
    ピアソンエデュケーション / 4830円 ( 2000-02 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;特にHOPは値段以上の価値があったと思ってるので満足。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/1558607013/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41amviSk6nL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Higher-Order Perl: Transforming Programs with Programs&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Mark Jason Dominus&lt;br /&gt;
    Morgan Kaufmann / 5976円 ( 2005-03-28 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;そしてMAWP&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/1565923987/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41kjrGzBGWL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Mastering Algorithms With Perl&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Jon Orwant&lt;br /&gt;
    Oreilly &amp; Associates Inc / 2716円 ( 1999-07 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;来年もこの調子で。あと、もっとコードを書く。&lt;/p&gt;</description><pubDate>Sat, 20 Dec 2008 09:46:23 +0919</pubDate><category>perl</category><category>SICP</category><category>HOP</category><category>MAWP</category></item><item><title>HOP 8.8はバックトラッキング</title><link>http://blog.kzfmix.com/entry/1192798949</link><description>&lt;p&gt;継続(8.8.1)使ってやる方法と、パーサ自体に押し込む(8.8.2)方法がある。
SICPのambのところを後でもう一度読んでおく。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51ZSMEJ9Y2L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;計算機プログラムの構造と解釈&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    ジェラルド・ジェイ サスマン&lt;br /&gt;
    ピアソンエデュケーション / 4830円 ( 2000-02 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;なんていうかまだ継続をきちんと理解していないことが理解できた。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/1558607013/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41amviSk6nL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Higher-Order Perl: Transforming Programs with Programs&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Mark Jason Dominus&lt;br /&gt;
    Morgan Kaufmann / 5692円 ( 2005-03-28 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Fri, 19 Oct 2007 22:03:53 +0919</pubDate><category>perl</category><category>SICP</category><category>HOP</category></item></channel></rss>