Higher-Order Perl、chap3から。 メモ化の話 少し前に流行った、fib関数をメモ化して速度を上げる話。 普通にいろんな実装方法を説明した後、どうやって一般化するかでMemoize.pmの紹介がある。 Perlだと メモ化を個人で実装する必要はなくて、 use Memoize; memoize 'fib'; で関数fibをメモ化できる。この本では、紹介だけでなくMemoize.pmの動きをちゃんと説明している。Memoize.pmはPerlの内部テーブルを書き換える話をした後に、closureが来る。 どうみても、Lispです。 Padというのは、ローカル変数のbindingを行うデータ構造で、StubはPerlのjargonではCV(code,value)と呼ばれる。carが手続き(code)をさして、cdrがpad(ローカル変数のbinding)を指すと説明が入る。P
![中はLISPです - なつたん](https://cdn-ak-scissors.b.st-hatena.com/image/square/de62e9244ef99b3227ad9307b09249537676dfbe/height=288;version=1;width=512/http%3A%2F%2Fnatu.txt-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)