Hi Tobias,

Clarifying one point:

On Mon 06 Feb 2012 20:49, Tobias Gerdin <tger...@gmail.com> writes:

>>    scheme@(guile-user)> (call-with-prompt 'foo (lambda () 
>> (call-with-output-string (lambda args (abort-to-prompt 'foo)))) (lambda (k) 
>> k))
>>    $1 = #<partial-continuation 2b63200>
>>    scheme@(guile-user)> ($1)
>>    ERROR: In procedure #<partial-continuation 2b63200>:
>>    ERROR: Throw to key `vm-error' with args `(vm-run "Unrewindable partial 
>> continuation" (#<vm-continuation 2b73aa0>))'.
>
> So if a Scheme primitive the program calls happens to be implemented
> in C you would run into this problem?

Only if that C primitive invokes a Scheme procedure (for example, using
scm_call), and you capture the continuation from within that
recursively-called Scheme procedure.  Like `call-with-output-string'
above.

Cheers,

Andy
-- 
http://wingolog.org/

Reply via email to