2007-12-05から1日間の記事一覧

Schemeをつくろう(10) SICPの問題を僕のSchemeで解く

簡単な所から攻めてみます。クオートも特別な関数のようです。 構文要素の追加 字句&構文解析にひとこと加えてっと。 case '\'' : return cons(symbol("quote"), cons(read_to_stream(s),null())); 'があったら、要素を(quote 中身)で囲みます。 文法の追加…

Schemeをつくろう(9) if

さて、構文という奴に取りかかります。あぁ、Schemeには構文がないんだっけ。でもifは構文だよな。マテ、値を返すから式か?・・・構文の定義がイマイチ微妙です。 あんまり細かいことは気にせず進みます。 ifの挙動 ifはdefineと同じように特別な関数です。…