タグ

2011年9月30日のブックマーク (2件)

  • こども(てれび) - C++でSchemeインタプリタを作ろう

    少し作った。 (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) ; ok (factorial 10) ; 3628800おー。Accelerated C++ と Effective C++ というを読んだんだけど書き方がわからないのでひげぽんのコードを参考に勉強しようとしたんだけど日記にコードは殆ど載ってなくてつかえねーと思いつつ書いた。そういう訳であんまり C++ の勉強にはなってないような。ポインタとか参照とかリソース管理とかがさっぱりわからない。メモリが駄々漏れ。 以下ソースコード main #include <iostream> #include <scheme.h> using namespace std; using namespace scheme; int main() { Environme

    こども(てれび) - C++でSchemeインタプリタを作ろう
  • Three Dogmas of Scheme

    Three Dogmas of Scheme (Recursion, Single name space and Continuation) R6RS にざっと目を通して一番驚いたのはそれまでの表示意味論が捨てられてしまっていることでした。 しかし 表示意味論 を捨てるなら以下に並べる Scheme 三つのドグマも捨てられなきゃ嘘だろう、ということでコメントしてみます。 Recursion (再帰) Scheme は何でも再帰です。 後で示すように、一見 iteration のような格好をしている構文ですら、 一旦末尾再帰に置き換えられてから実行されます。 つまり Scheme はその仕様に iteration を持ちません。 これが関数型プログラミングと関係の深い表示意味論からの要請であったことは容易に想像がつきます。 しかし、表示意味論が捨てられた今、反復制御構造に recursion