Description
Now that we're firming up our notion of what nothing
and missing
actually mean, we should probably semantically enforce them a little bit more. Example:
Sys.which(cmd)
will return nothing
if the given cmd
cannot be found on the PATH
. This makes it easy to define a hierarchy of commands: coalesce(Sys.which("curl"), Sys.which("wget"))
, etc... However, if the user then interpolates the result into a Cmd
, it makes sense that we should error out.
Jeff suggested disallowing all kinds of print()
or string()
conversion of nothing
, leaving only repr()
. I tend to agree, despite that this has the potential to be a quite breaking change.
I would also like to suggest that missing
get a similar treatment, as it is a subtly different but largely identical concept.