The puzzle, implemented in Scheme, is as follows:
(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))
The goal of the puzzle is to work out and understand the output of this code.
I'm wondering if it's possible to implement code with the same semantics using C# 5.0's new async CPS features.
The part that I'm having trouble grasping, is that the puzzle relies on the semantics of let* as much as call/cc. I'm not sure how to correctly express this interplay in C#.