Summary
Explore adding support for bare (unquoted) column name arguments in user-facing functions, using base R non-standard evaluation patterns (substitute(), deparse(), match.call() — cf. library(), subset()).
Motivation
Currently, column/variable arguments are passed as character strings. Supporting bare inputs would align with ergonomic R conventions (e.g., library(dplyr) not library("dplyr")) and improve the interactive user experience.
Design constraints
- Must use base R NSE only — no
rlang dependency
- Character string inputs must remain supported (non-breaking)
- Pattern: detect whether input is a symbol or character, handle both:
arg <- substitute(arg)
if (is.symbol(arg)) arg <- deparse(arg)
- Document clearly which arguments support bare input
Context
Acceptance criteria
Notes
This is a follow-on to the dplyr evaluation (#86). If dplyr is retained, tidy-select semantics already provide this. If dplyr is removed, base R NSE is the path forward.
Summary
Explore adding support for bare (unquoted) column name arguments in user-facing functions, using base R non-standard evaluation patterns (
substitute(),deparse(),match.call()— cf.library(),subset()).Motivation
Currently, column/variable arguments are passed as character strings. Supporting bare inputs would align with ergonomic R conventions (e.g.,
library(dplyr)notlibrary("dplyr")) and improve the interactive user experience.Design constraints
rlangdependencyContext
Acceptance criteria
Notes
This is a follow-on to the dplyr evaluation (#86). If dplyr is retained, tidy-select semantics already provide this. If dplyr is removed, base R NSE is the path forward.