bug#59221: (file-exists? #f) raises an exception

Jean Abou Samra <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Le 13/11/2022 à 07:44, [email protected] 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?


> 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
OpenPGP_signature (application/pgp-signature, 236 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.