タグ

ブックマーク / white-azalea.hatenablog.jp (3)

  • IronPython を本気で弄る準備 - 技術をかじる猫

    VisualStudioIDE上でどうしてもPythonしたくなったので、メモ。 まずは、IDEの受け入れ準備。 VisualStudio2008Shell(integratedMode)ServicePack1再頒布可能パッケージ 言語統合に必要らしい。 VisualStudio2008SDK1.1 VisualStudio拡張SDK IronPythonStudioIntegratedSetup IronPythonStudio体(integratedを選択) IronPythonStudio 入れた後、WPF しかプロジェクトが無い場合、のメモは以下の通り。 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\IronPython Studio のディレクトリを、そのまま C:\User

    IronPython を本気で弄る準備 - 技術をかじる猫
  • メモ化機構を切り離してみる - 技術をかじる猫

    メモ化の概念的には、結局のところ、引数パターンに対する辞書があって、一度やった処理は記録して使いまわす。 前回のものから、メモ化部分を抽出するだけしてみると、 def tarai(x, y, z): if x <= y: return y return tarai(memorize(x - 1, y, z), memorize(y - 1, z, x), memorize(z - 1, x, y)) table = {} def memorize(*args): global table if not args in table: table[args] = tarai(*args) return table[args] で、汎用化しようとしたときに、memorize 中の tarai と、tarai 中の memorize が邪魔になるので、昔見た C# のコード(元ネタ第35回CLR/

    メモ化機構を切り離してみる - 技術をかじる猫
    rawwell
    rawwell 2008/11/15
    "メモ化の概念的には、結局のところ、引数パターンに対する辞書があって、一度やった処理は記録して使いまわす。"
  • たらいまわし関数 - 技術をかじる猫

    いまさらかもしれないが、関数型言語勉強会で、たらいまわし関数についてやってたので、Pythonでどうにかしてみた。 というのも、現場でPythonを使った回答がうまく出来なかった為、リベンジしようという話。 Haskell のたらいまわしtmaeda 日記 C++でたらいまわしドレッシングのような C#でたらいまわし(hatena (diary ’Nobuhisa)) 参考リンクたち。 それぞれの特性をまず考察。 Haskell のたらいまわしは、間違いなく遅延評価の恩恵。 C++ 版のものは、爆速で驚いたが、結局コンパイル時に計算している為、実際には回答を print していることに。 bool がミソで、メモ化しているということらしい。(教えて下さった方sumim’s smalltalking-tos ご人に言わせれば、遅延評価は内部的にメモ化に近いことをしているので、厳密に処理系実

    たらいまわし関数 - 技術をかじる猫
    rawwell
    rawwell 2008/11/15
    いまさらかもしれないが、関数型言語勉強会で、たらいまわし関数についてやってたので、Pythonでどうにかしてみた。 というのも、現場でPythonを使った回答がうまく出来なかった為、リベンジしようという話。
  • 1