プログラミングの質問

きっと、ラクダさんが答えてくれると信じてる(笑)
404 Blog Not Found:たらいを回すならHaskell
の中で、Memoizeって手法?言語機能?が使われているんですけど、これって「動的計画法」と同じことですよね?(計算結果を記憶して、再計算の手間を省く)

  • 再帰関数のときにだけ動的計画法と呼ぶのでしょうか?
  • 動的計画法を言語機能としてスマートに実現したものをMemoizeと呼ぶのでしょうか?
  • 動的計画法とMemoizeは同じものの別な呼び方でしょうか?

別なところでMemoizeの説明を読んだのですが、動的計画法との違いが分からなかったんですよね・・・
追記:「クロージャで環境を汚さないようにして動的計画法」みたいなことかな?