* coding standard for allowed arguments of predicates
@ 2020-12-18 14:49 Roland Winkler
2020-12-18 15:00 ` Philipp Stephani
0 siblings, 1 reply; 3+ messages in thread
From: Roland Winkler @ 2020-12-18 14:49 UTC (permalink / raw)
To: emacs-devel
Is there a coding standard for allowed arguments of predicates?
I have always assumed that predicates should accept any type of
argument; but I cannot find this documented anywhere.
The context of my question is `iso8601-valid-p'. It assumes that
its argument must be a string. Is this a bug? In my usage example,
the argument of `iso8601-valid-p' could also be nil.
If, indeed, predicates should always accept any type of argument,
I suggest to document this in the elisp manual.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: coding standard for allowed arguments of predicates
2020-12-18 14:49 coding standard for allowed arguments of predicates Roland Winkler
@ 2020-12-18 15:00 ` Philipp Stephani
2020-12-18 21:59 ` Roland Winkler
0 siblings, 1 reply; 3+ messages in thread
From: Philipp Stephani @ 2020-12-18 15:00 UTC (permalink / raw)
To: Roland Winkler; +Cc: Emacs developers
Am Fr., 18. Dez. 2020 um 15:49 Uhr schrieb Roland Winkler <winkler@gnu.org>:
>
> Is there a coding standard for allowed arguments of predicates?
> I have always assumed that predicates should accept any type of
> argument; but I cannot find this documented anywhere.
>
> The context of my question is `iso8601-valid-p'. It assumes that
> its argument must be a string. Is this a bug? In my usage example,
> the argument of `iso8601-valid-p' could also be nil.
>
> If, indeed, predicates should always accept any type of argument,
> I suggest to document this in the elisp manual.
>
There are lots of predicates that accept only certain types, e.g.
(file-readable-p 123) also signals an error. Typically only the
predicates that check for types (stringp, integerp, listp, etc.)
accept any type.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: coding standard for allowed arguments of predicates
2020-12-18 15:00 ` Philipp Stephani
@ 2020-12-18 21:59 ` Roland Winkler
0 siblings, 0 replies; 3+ messages in thread
From: Roland Winkler @ 2020-12-18 21:59 UTC (permalink / raw)
To: Philipp Stephani; +Cc: Emacs developers
On Fri Dec 18 2020 Philipp Stephani wrote:
> Am Fr., 18. Dez. 2020 um 15:49 Uhr schrieb Roland Winkler <winkler@gnu.org>:
> > The context of my question is `iso8601-valid-p'. It assumes that
> > its argument must be a string. Is this a bug? In my usage example,
> > the argument of `iso8601-valid-p' could also be nil.
>
> There are lots of predicates that accept only certain types, e.g.
> (file-readable-p 123) also signals an error. Typically only the
> predicates that check for types (stringp, integerp, listp, etc.)
> accept any type.
Thanks; thinking about this once more it makes sense that not all
predicates need to check the type of their arguments. In the
example of `iso8601-valid-p' one could argue that it is at the
borderline of the class of predicates that check for (in this case:
very particular) types. But a caller of this predicate can handle
the possibility of non-string arguments, too.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-18 21:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-18 14:49 coding standard for allowed arguments of predicates Roland Winkler
2020-12-18 15:00 ` Philipp Stephani
2020-12-18 21:59 ` Roland Winkler
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).