Skip to content
/ types Public

❗ This is a read-only mirror of the CRAN R package repository. types — Type Annotations

License

Notifications You must be signed in to change notification settings

cran/types

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRAN_Status_Badge Travis-CI Build Status Coverage Status AppVeyor Build Status

Types for R

This package provides a simple type annotation for R that is usable in scripts, in the R console and in packages. It is intended as a convention to allow other packages or IDE's to use the type information to provide error checking, automatic documentation or optimizations.

The annotations are syntactically valid R code rather than comments, which provides additional assurance they are specified properly. However this package does not do anything with the type annotations, they have no effect on the calculated result.

? when used on the command line continues to work as before, accessing the R help pages for the topic requested.

Examples

Function arguments can be annotated with types

f <- function(x = 1 ? numeric) {
  x + 1
}

Default arguments can also be annotated (the = is required however)

f <- function(x = ? numeric) {
  x + 1
}

Function statements can be annotated with types

f <- function(x = "Yay") {
  paste(x, "types!") ? character
}

Function return values can be annotated with types

f <- function(x = 1) {
  x %% 2 == 0
} ? boolean

Prior work

The argufy package by Gábor Csárdi was an exploration of typed arguments and was the original impetus of the ? syntax.

About

❗ This is a read-only mirror of the CRAN R package repository. types — Type Annotations

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages