arcのcontinuation、継続

継続をエレガントに実装してるのね。
マクロ展開してみたら、こんな感じ。cccは、call/ccのさらに略。

arc> (macex '(point cc (= y cc) 1))
(ccc (fn (gs1447) (let cc (fn (_) (gs1447 _)) (= y cc) 1)))
arc>

使い方のイメージは、こんな感じか。
pointで指し示す位置の継続をccとして、bodyでccを利用したコードを記述。
cc取得時の値を第3引数に指定する。意味のない値。

arc> (= global-cc nil)
nil
arc> (* 101 (point cc (= global-cc cc) 1))
101
arc> global-cc
#
arc> (global-cc 10)
1010
arc>