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

さっきのバックトラックポイント生成マクロの名前を、make-backtrack-point/valuesから、backtrack-point/valuesに変えた。 gauche的には、どういう命名がいいのかはよく分からない。 それから、call/cc的に、btp/valuesみたいな短い名前も定義した方がいい…

猫を洗った。 speedygoshの続きを作り始めた。 getoptが非常に面倒くさい。 さっきのバックトラックポイント生成マクロのnamed-let書式化をちょっと考えてみたが、余分なシンボルを導入して、再帰的に展開しないと引数の並べ換えができなさそうだ。 これはや…

バックトラックポイントの生成をマクロ化してみた

さっきの文章を書いていて、この用途で使うcall/ccを汎用化できそうな気がしてみたので、ちょっとマクロ化してみた。 let1とlet/cc使ってるのでgauche用だが、そこを展開すれば他のschemeでも使えると思う。 (define-syntax backtrack-point/values (syntax-…

継続による時間操作まとめ

前回までのフィラデルフィア・エミュレータ作りで考えた事の要約。 まだ考え途中。 以下の文章で使っている「call/cc」は、よくあるgotoやreturnの用途で使うcall/ccではなく、 (call/cc (lambda (cont) ... ... ...)) xxx xxx xxx の、「...」の外側(「xxx…