Mark H Weaver <m...@netris.org> writes: > David Kastrup <d...@gnu.org> writes: > >> It is worth pointing out that the current state of Guile is inconsistent >> regarding the return value of control structures: one primitive control >> structure builder is call/cc, and its normal use does not return >> *unspecified* but (values): >> >> scheme@(guile-user)> (call-with-values (lambda () (call/cc (lambda >> (exit) (exit)))) list) >> $5 = () > > The values returned are the arguments passed to 'exit'. Normal use is > to pass the desired return value(s) to 'exit'.
Well, that's the point. You'll not see anybody using a particular value like *unspecified* for his control structures built from Scheme primitives, and yet the C API recommends returning SCM_UNSPECIFIED. -- David Kastrup