Arl behavior is controlled by a combination of R options and environment variables. Every user-facing setting can be configured through either mechanism.
When both an R option and an environment variable are set for the same setting, the R option wins:
options(arl.foo = value)) –
highest priorityARL_FOO=value) –
fallbackThe naming convention is straightforward: option
arl.foo_bar maps to environment variable
ARL_FOO_BAR.
From R:
# R option (takes effect immediately, session-scoped)
options(arl.repl_quiet = TRUE)
# Environment variable (inherited by child processes)
Sys.setenv(ARL_REPL_QUIET = "1")From the shell:
For boolean settings, the environment variable values 1,
true, and yes (case-insensitive) are treated
as TRUE; anything else is FALSE.
| Setting | R option | Env var | Default | Description |
|---|---|---|---|---|
| Suppress display/trace | arl.quiet |
ARL_QUIET |
FALSE |
Silence display and trace output |
| REPL quiet/banner | arl.repl_quiet |
ARL_REPL_QUIET |
FALSE |
Start REPL without the startup banner |
| REPL history | arl.repl_use_history |
ARL_REPL_USE_HISTORY |
TRUE |
Enable REPL command history |
| REPL bracketed paste | arl.repl_bracketed_paste |
ARL_REPL_BRACKETED_PASTE |
TRUE |
Enable bracketed-paste mode in the REPL |
| CLI quiet (errors) | arl.cli_quiet |
ARL_CLI_QUIET |
FALSE |
Suppress CLI error messages and help text |
| Macro debug output | arl.debug_macro |
ARL_DEBUG_MACRO |
FALSE |
Print debug info during macro expansion |
| Disable self-TCO | arl.disable_tco |
ARL_DISABLE_TCO |
FALSE |
Disable self-tail-call optimization (for debugging) |
| Disable constant folding | arl.disable_constant_folding |
ARL_DISABLE_CONSTANT_FOLDING |
FALSE |
Disable compile-time constant folding (for testing) |
| Disable all optimizations | arl.disable_optimizations |
ARL_DISABLE_OPTIMIZATIONS |
FALSE |
Disable all non-essential compiler optimizations at once |
| Display line limit | arl.display.max.lines |
ARL_DISPLAY_MAX_LINES |
20 |
Max lines for S3 object display (Inf to disable) |
Some settings are checked in the shell wrapper before R starts, so they can only be set as environment variables:
| Env var | Description |
|---|---|
ARL_SKIP_USER_PROFILE |
Skip sourcing ~/.Rprofile when launching the CLI |
Suppress all display and trace output:
options(arl.quiet = TRUE)
engine <- arl::Engine$new()
engine$eval_text('(display "this is silent")') # no outputOr equivalently via environment variable:
Sys.setenv(ARL_QUIET = "1")
engine <- arl::Engine$new()
engine$eval_text('(display "this is silent")') # no output
Sys.unsetenv("ARL_QUIET")Start the REPL without a banner:
The following options are used internally for testing or session state. They do not have environment variable equivalents and are not intended for end-user configuration:
arl.env_cache_warning_shown – session flag for one-time
cache warningarl.coverage_tracker – active
CoverageTracker R6 objectarl.stdin – override R connection for stdinarl.repl_read_form_override – test hook for REPL
inputarl.repl_can_use_history_override – test hook for
history detectionarl.cli_exit_fn – test hook for CLI exit behaviorarl.cli_isatty_override – test hook for TTY
detectionarl.cli_read_stdin_override – test hook for stdin
reads