Python, Ply1日経って昨日のエントリを読み返してみると、Symbolってstrを継承すれば良いよねNumberもintを継承すれば良いよねAddProcedureとかビルドインプロシージャもProcedureの一形態に過ぎないよねSchemeのソースコードを1つの文字列として渡したいよねなんてツッコミたくなってきたので、ちょっと修正する。 SymbolとNumberSymbolは文字列の比較、Numberは四則演算が出来れば良いのだから、Pythonのstrとintが元々持ってる機能をそのまま使えるように、それぞれから継承させる。 class Symbol(str): def eval(self, env): value = env.get(self) while isinstance(value, Symbol): value = value.eval(env) return