[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59221: (file-exists? #f) raises an exception
From: |
Joshua Branson |
Subject: |
bug#59221: (file-exists? #f) raises an exception |
Date: |
Wed, 16 Nov 2022 10:27:34 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Jean Abou Samra <jean@abou-samra.fr> writes:
> Le 13/11/2022 à 07:44, tomas@tuxteam.de a écrit :
>> You both have a point. Checking for existing predicates with a
>> longer tradition, though:
>>
>> scheme@(guile-user)> (exact? "mumble")
>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> In procedure exact?: Wrong type argument in position 1: "mumble"
>>
>> seems to support Jean Abu's position that it is more customary to
>> raise for an argument of the wrong type. Also `string<?', etc.
>> do this. That seems to be the consensus.
>
>
> Yes. I am not sure where the people in the Guile IRC got the idea
> that a predicate shouldn't raise an exception. Lots of predicates in
> Guile do, and that is very helpful because it catches mistakes.
>
>
>> Naively, it just feel like it (file-exists? #f) should return #f.
>
>
> Why?
>
hmmm, somehow I missed your response. I guess for my simple use case,
it just made more sense. I am defining a service for guix that asks for
user input. If the user doesn't type in input, the default value was
#f.
That's fine. Thanks for all's replies. I'll go ahead and close this
bug!
Thanks!
>
>
>> Would there be an objection to changing the definition of file-exists to
>>
>> (define (file-exists file)
>> (and (string? file)
>> (old-file-exists-code file)))
>
>
>
> It would be inconsistent with the rest of Guile and I don't
> see what it would help with.
>
> Best,
> Jean