2008-01-01から1年間の記事一覧

Google Treasure Hunt 2008[2]

2問目も正解した. 特定条件を満たすパスのファイルを読んで特定行の数字を使って計算するという内容. os.walk()してフィルタリングするだけなので結構楽だった.

TopCoderのPlugin設定

TopCoderでCodeProcessor+TZTester+FileEdit - Gulfweed を参考に設定してるのだけれどなんかC++のファイルにJavaのコードが生成されるよ! デフォルトの言語設定とかがどこかにあるのかな?

Google Treasure Hunt 2008

Official Google Australia Blog: Google Treasure Hunt 面白そうだったのでやりはじめました。 現在は1問目を正解して、2問目の回答を提出した後の結果待ち状態。1問目はRobot Puzzle。長方形のグリッド上のロボットを目的地まで移動させる経路は何通りある…

OS XでPython-3.0a5をビルド

そのままだとX-MAC-JAPANESEが無いと言われてモジュールのバイトコンパイル中(?)にエラーで止まってしまう。 X-MAC-JAPANESEはファイル名などに使うためのApple独自のUTF-8拡張だそうで、Pythonはこれを正しく取り扱えない模様。http://weblog.metareal.org/…

iflatten

先日何故いきなりCPS変換(で言葉はあっているのだろうか)をやり始めたかというと, http://aspn.activestate.com/ASPN/Mail/Message/python-tutor/2302231 をみてコールスタックを消費しないflatten関数の動きを理解したかったから.flatten関数はネストし…

TrampolineとCPSとPython

TrampolineとCPSについて調べたことの一応のメモ. 理論的な側面はともかくやりかたはなんとなく分かってきた気がする.http://en.wikipedia.org/wiki/Continuation-passing_style を参考にして書いてみた. CPS Direct style import operator as op def pyt…

Google App Engineでwikiっぽいのを作りました.

今更どうということもない代物ですが,CodeReposのコミット権を頂いたので置いておきました. http://coderepos.org/share/browser/lang/python/gae_wiki認証とかは簡単にできそうだけど,特に意味がなさそうなので省略. List+CRUDな操作ができます.URL設…

スコープ

for文でループ毎にスコープが生成されないのを忘れてループ内でループ変数を参照するクロージャを作ろうとしてハマッた.※本当はリスト内包表現などを使うべきだが,元のコードはもっと長くて見づらくなってしまうのでこういう書き方をしていた.あとリスト…

SimpleAPI を使ってWikipedia を検索する

ちょっとWikipediaを検索する機能が必要になったけど, ちょっと探した感じではなかったので http://wikipedia.simpleapi.net/ を利用して書いて見た. import urllib import httplib from xml.dom import minidom _API_HOST = "wikipedia.simpleapi.net" _A…

先日のCythonモジュールの速度を調べる

で,実際どれくらい早いの?ということで計測してみる. 比較用の Pure Python なコードは以下. なるべくオブジェクト割り当ての総量が減るようにちょっとだけ修正したつもり. pyprimes.py def primes(kmax): result = [] if kmax > 1000: kmax = 1000 p =…

CythonをWindows XP + MinGWで使うメモ

Pythonの拡張を作る方法は世に数多くあるが,休み時間にふと思い立ってWindowsでCython(http://www.cython.org/)を使おうと思った時のメモ.CythonはPyrex(http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/)の後継と思しき言語(?)で,Sage(htt…

Exercise 1.6

解答 無限ループになる。 new-ifは普通の関数なのでnew-if評価時にthen式とelse式は両方とも評価される。 したがって毎回sqrt-iterの再起呼び出しが起きることになり、無限ループになる。 考察 sqrt-iterは末尾再帰になっている(と思うのだが)ので、スタッ…

第3回1000spekaersに参加して発表してきたことへの報告

今更ながら感想を書きます。発表物についてはここにおいてあります。 良かった点 空気を読まずにこういう発表会未体験者がいきなり申し込み、いきなり話したが思っていたより反応があったので良かった。 2次会で直接お話しする機会が持てた吉岡さんはとても…

Pygletで遊ぼう

わずかな時間を見つけて Pyglet(http://www.pyglet.org/) で遊んだ。立方体が回ります。 from __future__ import with_statement from contextlib import contextmanager import ctypes from pyglet import gl from pyglet import window @contextmanager de…

1000Seakers2の発表資料

今更過ぎますがなんとか資料とコードをアップロードしました。http://www.enbug.net/index.cgi/Data/ThousandSpeakers2手遅れもいいところですがレポートもなんとかしたいと思います。

メモ:先日のエントリのつけたし

def foo(n): l = locals() return lambda i:l.update(n=i+l['n']) or l['n'] とか def foo(n): l = locals() return lambda i:l.setdefault('n', i+l.pop('n')) でもいいか,と思った.よくよく考えたら def foo(n): return (lambda l: lambda i:l.update(n=…

1000speakers2

に行って発表してきましたがレポートを書く時間が取れない...

メモ:データが付加された処理としてのクロージャ

Python では代入演算子=がSchemeでいう set! ではなく define 相当なせいか スコープのネストがある場合内側のスコープから外側のスコープの変数を変更できない. なので何とかしようとすると以下の様になる. 引用元: http://practical-scheme.net/trans/i…

メモ:無名オブジェクト in Python

>>> obj = lambda **args: type('<anonymous object>', (object,), args)() >>> o = obj(a=1, b=2, sum=lambda self: self.a + self.b) >>> o <__main__.<anonymous object> object at 0x014CDF30> >>> o.a 1 >>> o.b 2 >>> o.sum() 3 >>> o1 = obj() >>> o2 = obj() >>> o1 == o2 False >>> o1.__class__ =</__main__.<anonymous></anonymous>…

JavascriptをIoなプロトタイプベースっぽくしたい

JavaScriptの関数とnewとオブジェクトコンストラクタのトリッキーな感じが気に入らず,もっとIoっぽくcloneしたい!と思ったので素人発想と半端な知識でそれっぽくやってみる. // 万物の始祖. IoLikeObject = { clone: function() { var obj = {}; obj.__p…

ArcLite - Arc in JavaScript

http://halogen.note.amherst.edu/~jdtang/arclite/ JavaScriptで書かれたArcな模様. ソースは1300行弱なので他の言語でもそれほど苦労なく実装できるのかもしれない.上記のページでしばらく待っているとArcのライブラリの読み込みログがAJAX?で表示され…

読み終わった

週末で全部読み終わった\(^o^)/ 大体2ヶ月ちょっとで読めた感じかな. ほぼ通勤時間で読んだ.というか通勤時間長過ぎw 途中で北方三国志を読み始めて止まっていたなんてことはない. でもExerciseは止まったまま... とりあえず英語の大学レベルな教科書…

Arcをちょっとだけいじる

チュートリアル http://ycombinator.com/arc/tut.txt を読みながら色々いじっているが早く帰ってじっくり遊びたくなってきた.とりあえず今読んだところ(半分もいってないかも)までで印象に残ったところをざっと. 今までのArc関連の記事に書いてあった特…

Arcのインストール(WindowsXP編)

http://arclanguage.org/install の通りにやったらWindowsXPでも普通に動いた. MzSchemeが動けばたぶんどこでも動くのだろう.現状ではArcはMzSchemeで実装されておりMzSchemeのコードにコンパイルされて実行されるとのこと. 1. MzSchemeをインストールす…

Arc ktkr

http://arclanguage.org/ 昼休みにいじる.

C#とクロージャとループ

Visual C#で遊んでいたら気がついた小ネタ. C#では匿名delegateがクロージャっぽく機能するんですが, using System; using System.Collections.Generic; using System.Text; namespace Closure { class Program { delegate int Withdraw(int amount); stat…

横道にそれる

さらによせばいいのに↓でCommon Lispの勉強も始めてしまった.ANSI Common Lisp (スタンダードテキスト)作者: ポールグレアム,Paul Graham,久野雅樹,須賀哲夫出版社/メーカー: ピアソンエデュケーション発売日: 2002/08メディア: 単行本購入: 1人 クリック: …

久しぶりエントリ

いまどきのプログラム言語の作り方作者: randy出版社/メーカー: 毎日コミュニケーションズ発売日: 2005/11メディア: 単行本購入: 6人 クリック: 170回この商品を含むブログ (40件) を見る年末年始は↑の本で遊んでいたのでExerciseが全然進みませんでしたorz …