Skip to contents

Not a user-side function. Do not call directly.

Usage

crew_eval(
  command,
  name = NA_character_,
  string = NA_character_,
  data = list(),
  globals = list(),
  seed = NULL,
  algorithm = NULL,
  packages = character(0),
  library = NULL
)

Arguments

command

Language object with R code to run.

name

Character of length 1, name of the task.

string

Character of length 1, string representation of the command.

data

Named list of local data objects in the evaluation environment.

globals

Named list of objects to temporarily assign to the global environment for the task.

seed

Integer of length 1 with the pseudo-random number generator seed to set for the evaluation of the task. Passed to the seed argument of set.seed() if not NULL. If algorithm and seed are both NULL, then the random number generator defaults to the recommended widely spaced worker-specific L'Ecuyer streams as supported by mirai::nextstream(). See vignette("parallel", package = "parallel") for details.

algorithm

Integer of length 1 with the pseudo-random number generator algorithm to set for the evaluation of the task. Passed to the kind argument of RNGkind() if not NULL. If algorithm and seed are both NULL, then the random number generator defaults to the recommended widely spaced worker-specific L'Ecuyer streams as supported by mirai::nextstream(). See vignette("parallel", package = "parallel") for details.

packages

Character vector of packages to load for the task.

library

Library path to load the packages. See the lib.loc argument of require().

Value

A monad object with results and metadata.

Details

The crew_eval() function evaluates an R expression in an encapsulated environment and returns a monad with the results, including warnings and error messages if applicable. The random number generator seed, globals, and global options are restored to their original values on exit.

Examples

crew_eval(quote(1 + 1))
#> $name
#> [1] NA
#> 
#> $command
#> [1] NA
#> 
#> $result
#> $result[[1]]
#> [1] 2
#> 
#> 
#> $seconds
#> [1] 0
#> 
#> $seed
#> [1] NA
#> 
#> $algorithm
#> [1] NA
#> 
#> $error
#> [1] NA
#> 
#> $trace
#> [1] NA
#> 
#> $warnings
#> [1] NA
#> 
#> $launcher
#> [1] NA
#> 
#> $worker
#> [1] NA
#> 
#> $instance
#> [1] NA
#>