[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17474: Another point
From: |
David Kastrup |
Subject: |
bug#17474: Another point |
Date: |
Sun, 22 Jun 2014 07:45:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
Mark H Weaver <address@hidden> writes:
> David Kastrup <address@hidden> 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