The following gives me weird results:
(Typed into IRB. The results are similar in ruby but because of the
simple example you get an infinite loop)
=================================
# Allow a continuation to escape
store_cont = proc {|cont| $cont=cont; nil}
puts "[#{callcc &store_cont}]"
# prints '[]', as expected
$cont.call("hello")
# prints '[]hello]'
# expected '[hello]'
$cont.call("world")
# prints '[]hello]world]'
# expected '[world]'
==================================
I tested this with "ruby 1.8.2 (2004-07-16)".
Sam