Skip to main content

Module rlang_ffi

Module rlang_ffi 

Source

FunctionsΒ§

arg πŸ”’
Get the nth arg, returning NULL if missing.
as_char_vec πŸ”’
Extract a character vector from an RValue.
check_character_constraints πŸ”’
Check character-specific constraints: missing (NA) and empty (β€œβ€) values.
check_length πŸ”’
Check if length matches expected n (None = no restriction).
ffi_cnd_type πŸ”’
ffi_cnd_type(x) β€” return the condition type. Inspects the class attribute to determine if it’s an error, warning, message, or generic condition.
ffi_duplicate πŸ”’
ffi_duplicate(x, shallow) β€” deep or shallow copy. In miniR, RValue::clone() is always a deep copy since we use Rc<RefCell<>> for environments.
ffi_env_binding_types πŸ”’
ffi_env_binding_types(env, names) β€” return binding types as an integer vector. Types: 0 = regular, 1 = active binding, 2 = promise
ffi_env_clone πŸ”’
ffi_env_clone(env) β€” clone an environment (shallow: same parent, copy bindings).
ffi_env_has πŸ”’
ffi_env_has(env, names, inherit)
ffi_env_poke_parent πŸ”’
ffi_env_poke_parent(env, parent) β€” set the parent of an environment.
ffi_find_var πŸ”’
ffi_find_var(sym, env) β€” find a variable in an environment.
ffi_format_error_arg πŸ”’
ffi_format_error_arg(x) β€” format an argument for error messages. Returns the argument as a backtick-quoted string.
ffi_hash πŸ”’
ffi_hash(x) β€” compute a hash of x.
ffi_is_atomic πŸ”’
ffi_is_atomic(x, n) β€” TRUE for atomic vectors and NULL
ffi_is_call πŸ”’
ffi_is_call(x, name, n, ns)
ffi_is_character πŸ”’
ffi_is_character(x, n, missing, empty)
ffi_is_closure πŸ”’
ffi_is_closure(x)
ffi_is_complex πŸ”’
ffi_is_complex(x, n, finite)
ffi_is_double πŸ”’
ffi_is_double(x, n, finite)
ffi_is_finite πŸ”’
ffi_is_finite(x) β€” all elements are finite
ffi_is_formula πŸ”’
ffi_is_formula(x, n, lhs)
ffi_is_function πŸ”’
ffi_is_function(x)
ffi_is_integer πŸ”’
ffi_is_integer(x, n)
ffi_is_integerish πŸ”’
ffi_is_integerish(x, n, finite)
ffi_is_list πŸ”’
ffi_is_list(x, n)
ffi_is_logical πŸ”’
ffi_is_logical(x, n)
ffi_is_primitive πŸ”’
ffi_is_primitive(x)
ffi_is_primitive_eager πŸ”’
ffi_is_primitive_eager(x) β€” in miniR all builtins are eager
ffi_is_primitive_lazy πŸ”’
ffi_is_primitive_lazy(x) β€” in miniR no builtins are lazy
ffi_is_raw πŸ”’
ffi_is_raw(x, n)
ffi_is_reference πŸ”’
ffi_is_reference(x, y) β€” check if two objects are identical (pointer-equal for environments, deep-equal for others).
ffi_is_string πŸ”’
ffi_is_string(x, string, empty)
ffi_is_vector πŸ”’
ffi_is_vector(x, n) β€” TRUE for atomic vectors and lists
ffi_length πŸ”’
ffi_length(x) β€” return length as integer
ffi_names πŸ”’
ffi_names(x) β€” return names attribute
ffi_ns_registry_env πŸ”’
ffi_ns_registry_env() β€” return the namespace registry (empty environment).
ffi_obj_address πŸ”’
ffi_obj_address(x) β€” return address as hex string. We use a hash of the debug representation since RValues don’t have stable addresses.
ffi_set_names πŸ”’
ffi_set_names(x, names, transform) β€” set names on x. transform is ignored (it’s a function for name transformation).
ffi_standalone_check_number πŸ”’
ffi_standalone_check_number(x, allow_decimal, min, max, allow_infinite, allow_na, allow_null) -> integer Returns 0 for success, positive integer for various failure codes.
ffi_standalone_is_bool πŸ”’
ffi_standalone_is_bool(x, allow_na, allow_null) -> logical
ffi_symbol πŸ”’
ffi_symbol(x) β€” create a symbol (language object) from a string.
int_scalar πŸ”’
Extract an integer scalar from an RValue, or None if NULL.
int_val πŸ”’
is_r_null πŸ”’
Check if an arg is R NULL (meaning β€œno restriction” in rlang type checks).
lgl πŸ”’
lgl_scalar πŸ”’
Extract a logical scalar from an RValue, or None if NULL.
r_bool πŸ”’
r_false πŸ”’
register_rlang_ccallables
Register all rlang CCallable functions in the cross-package registry.
rlang_arg_match πŸ”’
arg_match β€” match an argument to allowed values (legacy).
rlang_arg_match_2 πŸ”’
arg_match_2 β€” match an argument to allowed values.
rlang_as_data_mask πŸ”’
Convert data to a data mask.
rlang_as_data_pronoun πŸ”’
Create a data pronoun from an environment.
rlang_as_function πŸ”’
Coerce to function β€” if it’s already a function, return it.
rlang_env_dots_list πŸ”’
Get dots as a list from an environment.
rlang_env_dots_values πŸ”’
Get dots values from an environment.
rlang_env_print πŸ”’
Print environment β€” no-op.
rlang_env_unbind πŸ”’
Unbind variables from an environment.
rlang_eval_tidy πŸ”’
Evaluate an expression in a tidy evaluation context.
rlang_format_error_arg πŸ”’
Format an argument name for error messages.
rlang_is_quosure πŸ”’
Check if an object is a quosure.
rlang_is_splice_box πŸ”’
is_splice_box β€” check if object is a splice box.
rlang_names_as_unique πŸ”’
Make names unique by appending …1, …2, etc. for duplicates/NA/empty.
rlang_new_data_mask πŸ”’
Create a new data mask from bottom and top environments.
rlang_new_quosure πŸ”’
Create a new quosure.
rlang_obj_encode_utf8 πŸ”’
Encode a character vector as UTF-8.
rlang_obj_type_friendly_full πŸ”’
Return a human-friendly type description for an R object.
rlang_print_backtrace πŸ”’
Print backtrace β€” no-op.
rlang_quo_get_env πŸ”’
Get the environment from a quosure.
rlang_quo_get_expr πŸ”’
Get the expression from a quosure.
rlang_quo_set_env πŸ”’
Set the environment on a quosure.
rlang_quo_set_expr πŸ”’
Set the expression on a quosure.
rlang_squash_if πŸ”’
Squash a list conditionally.
rlang_stop_internal πŸ”’
rlang_stop_internal β€” abort with an internal error message.
rlang_stop_internal2 πŸ”’
rlang_stop_internal2 β€” abort with file/line context.
rlang_str_as_symbol πŸ”’
Convert a CHARSXP or scalar STRSXP to a symbol (SYMSXP).
rlang_sym_as_character πŸ”’
Convert a symbol to a character SEXP.
rlang_sym_as_string πŸ”’
Convert a symbol to a string SEXP (CHARSXP).
rlang_unbox πŸ”’
Unbox a scalar value from a list.
rlang_xxh3_64bits πŸ”’
xxh3_64bits hash β€” return 0 as stub.
try_dispatch
Try to dispatch an rlang FFI function by symbol name.