我正在尝试在Scheme中掌握call/cc的语义,并且关于continuation的Wikipedia页面以阴阳拼图为例:
(let* ((yin
((lambda (cc) (display #\@) cc) (call-with-current-continuation (lambda (c) c))))
(yang
((lambda (cc) (display #\*) cc) (call-with-current-continuation (lambda (c) c)))) )
(yin yang))
Run Code Online (Sandbox Code Playgroud)
它应该输出@*@**@***@****@...,但我不明白为什么; 我希望它输出@*@*********......
有人可以详细解释为什么阴阳拼图的工作方式有效吗?