> On 17 May 2020, at 16:46, Jan Synacek <jsyna...@redhat.com> wrote:
> 
> On Sun, May 17, 2020 at 4:09 PM David Kastrup <d...@gnu.org> wrote:
>> I think this is more a matter of the documentation being not quite right:
>> 
>> -- Scheme Procedure: thunk? obj
>> -- C Function: scm_thunk_p (obj)
>>     Return ‘#t’ if OBJ is a thunk—a procedure that does not accept
>>     arguments.
>> 
>> "if OBJ can serve as a thunk—a procedure called without arguments."
>> 
>> Note that (thunk? (lambda x x)) also returns #t and that ((const 1))
>> returns 1.
> 
> But both (lambda x ...) and (const whatever) are still a procedure that 
> accepts
> an argument, aren't they? My understanding of thunk is (lambda () ...),
> because that's a procedure that takes zero arguments.

(lambda x ...) takes any number of arguments, including none.




Reply via email to