Jean Abou Samra <j...@abou-samra.fr> writes: > Le 13/11/2022 à 07:44, to...@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