Important: The rlang API is still maturing. Please see
?rlang::lifecycle for the list of functions that are considered stable.
The rlang package provides tools to work with core language features of R and the tidyverse:
The tidy eval framework, which is a well-founded system for non-standard evaluation built on quasiquotation (
!!) and quosures (
Consistent tools for working with base types. Note that overall this is a work in progress that is still in flux:
Vectors, including construction (
int(), …) coercion (
as_character(), …), and predicates (
Language objects, such as calls (
lang()) and symbols (
as_function(). The latter supports the purrr-style formula notation for lambda functions.
A comprehensive set of predicates to determine if an object satisfies various conditions, e.g.
The condition (message, warning, error) and restart system.
You can install the released version of rlang from CRAN with:
Or install the development version from github with:
# install.packages("devtools") devtools::install_github("r-lib/rlang", build_vignettes = TRUE)