Gauche > Archives > 2009/12/05

2009/12/05 01:09:56 UTC(び)
#
http://www.sqlite.org/transactional.html
2009/12/05 01:29:56 UTCとおる。
#
まぁ、ぼくがかってにパズル的な問題にしたいだけなんですけど:D
#
なんかできそうでできないので。
2009/12/05 01:59:11 UTCshiro
#
やってみた。
#
(define (procA another-fun)
  (let loop ((n 5))
    (display "In Proc A \n")
    (set! another-fun (call/cc another-fun))
    (when (> n 0)
      (loop (- n 1)))))

(define (procB another-fun)
  (let loop ((n 5))
    (display "In Proc B  \n")
    (set! another-fun (call/cc another-fun))
    (when (> n 0)
      (loop (- n 1)))))

(define (procC another-fun)
  (let loop ((n 5))
    (display "In Proc C  \n")
    (set! another-fun (call/cc another-fun))
    (when (> n 0)
      (loop (- n 1)))))

(use util.queue)

(define (make-dispatcher . cs)
  (let1 q (list->queue cs)
    (define (dispatcher c)
      (let1 next (dequeue! q)
        (enqueue! q c)
        (next dispatcher)))
    (dispatcher dispatcher)))

(make-dispatcher procA procB procC)
#
でもqueueで副作用してるのがいまいちかなあ。毎回新しいクロージャを作って返すようにしたら副作用無しで書けそうな気がする。
2009/12/05 02:30:21 UTCkoguro
#
最近、結構いろんな話題が進んでますね。
#
c-wrapperのSnowLeopard対応はもうちょっと待って(泣)
#
objc-wrapperの取り扱いを思案中。
#
Gauche全体のことを考えると、(び)さんが Gauche-dbd-sqlite3 をリリースした直後にリリースするのが良いかも。
#
glintもいろいろいじりたいけど、作りたいものキューがたまっていてなかなか順位が回ってこない。現状はIFormを見ているので、コメント情報は取得できないです。ただ、コメントにアノテーションを書くのってなんだか負けた気がする。
2009/12/05 02:34:44 UTCshiro
#
アノテーションやるなら(declare ...) みたいにちゃんとソース中に書けるようにするのがいいなあ。
2009/12/05 02:36:41 UTCkoguro
#
そうなんですよね。アノテーション用の別言語を導入するのは嫌だし、S式にするならそもそもソースコードに書いてしまえば良いので。
#
ただ、コメントから空気を読み取って挙動を変えるのは面白いかも。例えば「コメントがなんだかたくさん書いてある」→「詳しく説明する必要があるコードなら結構複雑かも」→「チェックを細かくする」とか。