# rlang v0.2.0

0

0th

Percentile

## Functions for Base Types and Core R and 'Tidyverse' Features

A toolbox for working with base types, core R features like the condition system, and core 'Tidyverse' features like tidy evaluation.

# rlang

Important: The rlang API is still maturing. Please see ?rlang::lifecycle for the list of functions that are considered stable.

## Overview

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 (quo()).

• Consistent tools for working with base types. Note that overall this is a work in progress that is still in flux:

• Vectors, including construction (lgl(), int(), ...) coercion (as_logical(), as_character(), ...), and predicates (is_logical(), is_character()).

• Language objects, such as calls (lang()) and symbols (sym()).

• Attributes, e.g. set_names().

• Functions, e.g. new_function(), as_function(). The latter supports the purrr-style formula notation for lambda functions.

• Environments, e.g. env(), env_has(), env_get(), env_bind(), env_unbind().

• A comprehensive set of predicates to determine if an object satisfies various conditions, e.g. has_length(), is_list(), is_empty().

• The condition (message, warning, error) and restart system.

## Installation

You can install the released version of rlang from CRAN with:

install.packages("rlang")


Or install the development version from github with:

# install.packages("devtools")
devtools::install_github("r-lib/rlang", build_vignettes = TRUE)