2008-05-17から1日間の記事一覧

Problem33

30分プログラム、その306。Problem33 - ProjectEuler。 49/98は面白い分数である. 「分子・分母の9をキャンセルしたので 49/98 = 4/8 が得られた」と経験を積んでいない数学者が誤って思い込んでしまうかもしれないからである. 我々は 30/50 = 3/5 のような…

boolean operatorに対応

http://github.com/mzp/scheme-abc/tree/master bool値を返す演算子がいくつか使えるようになった。が、リテラルの#tや#fには対応していない中途半端っぷり。#tのパース、面倒そうだなぁ。 $ cat bool.scm (print (> 1 10)) $ ocamlbuild main.byte -- bool.…

if文が難しい

if文への対応が予想以上に難しい。 jumpに、ジャンプするバイトオフセットを命令中に埋め込まないといけない。 でも、命令をバイト列に変換するのは出力直前なので、命令を生成する段階ではバイトオフセットを計算できない。しかも、命令の長さは可変長のも…