[Rd] Declaring Types at Function Declaration

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Wed Sep 17 19:38:23 CEST 2025


On 2025-09-17 1:23 p.m., IVO I WELCH wrote:
> 
> Suggestion for Syntax Sugar:
> 
> Would it make sense to permit a simple way to allow a coder to document the function argument type?
> 
> f <- function( a:chr, b:data.frame, c:logi ) { … }
> 
> presumably, what comes behind the ‘:’ should match what ‘str’ returns.
> 
> however, this need not be checked (except perhaps when a particular option is set).  catching errors as soon as possible makes code easier to debug and error messages clearer.

We already have that:  the Rd file should give a text description, and 
it can be enforced by run-time tests in the function body, e.g.

  stopifnot(is.char(a), is.data.frame(b), is.logical(c))

What we don't have, and I don't think it would be feasible, is a way to 
do this at compile time.  In general variables and expressions in R 
don't have a fixed type that is known before they are evaluated.

Duncan Murdoch



More information about the R-devel mailing list