R Under development (unstable) (2026-01-16 r89305 ucrt) -- "Unsuffered Consequences" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > #! /usr/bin/env Rscript > ## This runs testme test script inst/testme/test-futurize-base-stats.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > futurize:::testme("futurize-base-stats") Test 'futurize-base-stats' ... chr "none" > if (requireNamespace("future.apply")) { + library(futurize) + library(stats) + library(datasets) + options(future.rng.onMisuse = "er ..." ... [TRUNCATED] Loading required package: future [18:23:32.042] futurize() ... [18:23:32.042] | transpile() ... [18:23:32.043] | : get_transpiler() ... [18:23:32.043] | : . Finding call to be transpiled ... [18:23:32.043] | : . | decend_wrappers() ... [18:23:32.044] | : . | : Call: [18:23:32.044] | : . | : lapply [18:23:32.044] | : . | : parse_call() ... [18:23:32.045] | : . | : . Function: lapply(...) [18:23:32.045] | : . | : . Locate function ... [18:23:32.045] | : . | : . | Function located in: 'base' [18:23:32.045] | : . | : . Locate function ... done [18:23:32.045] | : . | : parse_call() ... done [18:23:32.046] | : . | decend_wrappers() ... done [18:23:32.046] | : . | parse_call() ... [18:23:32.046] | : . | : Function: lapply(...) [18:23:32.046] | : . | : Locate function ... [18:23:32.046] | : . | : . Function located in: 'base' [18:23:32.046] | : . | : Locate function ... done [18:23:32.046] | : . | parse_call() ... done [18:23:32.047] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.047] | : . | lapply [18:23:32.047] | : . Finding call to be transpiled ... done [18:23:32.047] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.048] | : . | transpilers_for_package(action = 'make', type = 'futurize::add-on') ... [18:23:32.048] | : . | : - package: 'base' [18:23:32.048] | : . | : $fcns [18:23:32.048] | : . | : $fcns[[1]] [18:23:32.048] | : . | : function () [18:23:32.048] | : . | : { [18:23:32.048] | : . | : append_transpilers("futurize::add-on", make_addon_transpilers("base", [18:23:32.048] | : . | : "future.apply", make_options = make_options_for_future.apply)) [18:23:32.048] | : . | : append_transpilers("futurize::add-on", make_addon_transpilers("stats", [18:23:32.048] | : . | : "future.apply", make_options = make_options_for_future.apply)) [18:23:32.048] | : . | : c("future.apply") [18:23:32.048] | : . | : } [18:23:32.048] | : . | : [18:23:32.048] | : . | : [18:23:32.048] | : . | : [18:23:32.048] | : . | : [18:23:32.054] | : . | transpilers_for_package(action = 'make', type = 'futurize::add-on') ... done [18:23:32.054] | : . | Required packages: [n=1] 'future.apply' [18:23:32.054] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.055] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.055] | : . | Transpiler function: [18:23:32.055] | : . | function (expr, options = NULL) [18:23:32.055] | : . | { [18:23:32.055] | : . | call <- make_call("future_lapply") [18:23:32.055] | : . | fcn <- eval(call) [18:23:32.055] | : . | expr[[1]] <- call [18:23:32.055] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.055] | : . | { [18:23:32.055] | : . | if (length(options) == 0L) return(options) [18:23:32.055] | : . | if (is.null(defaults_base)) { [18:23:32.055] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.055] | : . | } [18:23:32.055] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.055] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.055] | : . | defaults <- defaults[keep] [18:23:32.055] | : . | specified <- attr(options, "specified") [18:23:32.055] | : . | if (length(specified) > 0) { [18:23:32.055] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.055] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.055] | : . | names(options)) [18:23:32.055] | : . | } [18:23:32.055] | : . | specified <- sprintf("future.%s", specified) [18:23:32.055] | : . | names <- setdiff(names(defaults), specified) [18:23:32.055] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.055] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.055] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.055] | : . | options <- options[keep] [18:23:32.055] | : . | options [18:23:32.055] | : . | })(options, fcn)) [18:23:32.055] | : . | expr <- as.call(parts) [18:23:32.055] | : . | expr [18:23:32.055] | : . | } [18:23:32.055] | : . | [18:23:32.056] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.056] | : get_transpiler() ... done [18:23:32.056] | : Transpile call expression ... [18:23:32.057] | : . future.apply::future_lapply(X = 1:3, FUN = function(x) { [18:23:32.057] | : . print(x) [18:23:32.057] | : . }, future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:32.057] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.058] | : Transpile call expression ... done [18:23:32.058] | : Evaluate transpiled call expression [18:23:32.173] | transpile() ... done [18:23:32.174] futurize() ... done [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 === lapply ========================== lapply(X = xs, FUN = FUN) --------------------------------- [18:23:32.221] futurize() ... [18:23:32.221] | transpile() ... [18:23:32.221] | : get_transpiler() ... [18:23:32.221] | : . Finding call to be transpiled ... [18:23:32.221] | : . | decend_wrappers() ... [18:23:32.221] | : . | : Call: [18:23:32.222] | : . | : lapply [18:23:32.222] | : . | : parse_call() ... [18:23:32.222] | : . | : . Function: lapply(...) [18:23:32.222] | : . | : . Locate function ... [18:23:32.222] | : . | : . | Function located in: 'base' [18:23:32.223] | : . | : . Locate function ... done [18:23:32.223] | : . | : parse_call() ... done [18:23:32.223] | : . | decend_wrappers() ... done [18:23:32.223] | : . | parse_call() ... [18:23:32.223] | : . | : Function: lapply(...) [18:23:32.223] | : . | : Locate function ... [18:23:32.224] | : . | : . Function located in: 'base' [18:23:32.224] | : . | : Locate function ... done [18:23:32.224] | : . | parse_call() ... done [18:23:32.224] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.224] | : . | lapply [18:23:32.225] | : . Finding call to be transpiled ... done [18:23:32.225] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.225] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.225] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.225] | : . | Transpiler function: [18:23:32.225] | : . | function (expr, options = NULL) [18:23:32.225] | : . | { [18:23:32.225] | : . | call <- make_call("future_lapply") [18:23:32.225] | : . | fcn <- eval(call) [18:23:32.225] | : . | expr[[1]] <- call [18:23:32.225] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.225] | : . | { [18:23:32.225] | : . | if (length(options) == 0L) return(options) [18:23:32.225] | : . | if (is.null(defaults_base)) { [18:23:32.225] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.225] | : . | } [18:23:32.225] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.225] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.225] | : . | defaults <- defaults[keep] [18:23:32.225] | : . | specified <- attr(options, "specified") [18:23:32.225] | : . | if (length(specified) > 0) { [18:23:32.225] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.225] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.225] | : . | names(options)) [18:23:32.225] | : . | } [18:23:32.225] | : . | specified <- sprintf("future.%s", specified) [18:23:32.225] | : . | names <- setdiff(names(defaults), specified) [18:23:32.225] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.225] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.225] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.225] | : . | options <- options[keep] [18:23:32.225] | : . | options [18:23:32.225] | : . | })(options, fcn)) [18:23:32.225] | : . | expr <- as.call(parts) [18:23:32.225] | : . | expr [18:23:32.225] | : . | } [18:23:32.225] | : . | [18:23:32.226] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.226] | : get_transpiler() ... done [18:23:32.226] | : Transpile call expression ... [18:23:32.227] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.227] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.227] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.228] | : Transpile call expression ... done [18:23:32.228] | : Evaluate transpiled call expression [18:23:32.265] | transpile() ... done [18:23:32.265] futurize() ... done [18:23:32.266] futurize() ... [18:23:32.266] | transpile() ... [18:23:32.266] | : get_transpiler() ... [18:23:32.266] | : . Finding call to be transpiled ... [18:23:32.266] | : . | decend_wrappers() ... [18:23:32.266] | : . | : Call: [18:23:32.266] | : . | : lapply [18:23:32.267] | : . | : parse_call() ... [18:23:32.267] | : . | : . Function: lapply(...) [18:23:32.267] | : . | : . Locate function ... [18:23:32.267] | : . | : . | Function located in: 'base' [18:23:32.267] | : . | : . Locate function ... done [18:23:32.268] | : . | : parse_call() ... done [18:23:32.268] | : . | decend_wrappers() ... done [18:23:32.268] | : . | parse_call() ... [18:23:32.268] | : . | : Function: lapply(...) [18:23:32.268] | : . | : Locate function ... [18:23:32.268] | : . | : . Function located in: 'base' [18:23:32.269] | : . | : Locate function ... done [18:23:32.269] | : . | parse_call() ... done [18:23:32.269] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.269] | : . | lapply [18:23:32.269] | : . Finding call to be transpiled ... done [18:23:32.270] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.270] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.270] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.270] | : . | Transpiler function: [18:23:32.270] | : . | function (expr, options = NULL) [18:23:32.270] | : . | { [18:23:32.270] | : . | call <- make_call("future_lapply") [18:23:32.270] | : . | fcn <- eval(call) [18:23:32.270] | : . | expr[[1]] <- call [18:23:32.270] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.270] | : . | { [18:23:32.270] | : . | if (length(options) == 0L) return(options) [18:23:32.270] | : . | if (is.null(defaults_base)) { [18:23:32.270] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.270] | : . | } [18:23:32.270] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.270] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.270] | : . | defaults <- defaults[keep] [18:23:32.270] | : . | specified <- attr(options, "specified") [18:23:32.270] | : . | if (length(specified) > 0) { [18:23:32.270] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.270] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.270] | : . | names(options)) [18:23:32.270] | : . | } [18:23:32.270] | : . | specified <- sprintf("future.%s", specified) [18:23:32.270] | : . | names <- setdiff(names(defaults), specified) [18:23:32.270] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.270] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.270] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.270] | : . | options <- options[keep] [18:23:32.270] | : . | options [18:23:32.270] | : . | })(options, fcn)) [18:23:32.270] | : . | expr <- as.call(parts) [18:23:32.270] | : . | expr [18:23:32.270] | : . | } [18:23:32.270] | : . | [18:23:32.271] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.271] | : get_transpiler() ... done [18:23:32.271] | : Transpile call expression ... [18:23:32.272] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.272] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:32.272] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.272] | : Transpile call expression ... done [18:23:32.273] | : Evaluate transpiled call expression [18:23:32.306] | transpile() ... done [18:23:32.306] futurize() ... done character(0) [18:23:32.307] futurize() ... [18:23:32.307] | transpile() ... [18:23:32.307] | : get_transpiler() ... [18:23:32.307] | : . Finding call to be transpiled ... [18:23:32.307] | : . | decend_wrappers() ... [18:23:32.307] | : . | : Call: [18:23:32.307] | : . | : lapply [18:23:32.308] | : . | : parse_call() ... [18:23:32.308] | : . | : . Function: lapply(...) [18:23:32.308] | : . | : . Locate function ... [18:23:32.308] | : . | : . | Function located in: 'base' [18:23:32.308] | : . | : . Locate function ... done [18:23:32.309] | : . | : parse_call() ... done [18:23:32.309] | : . | decend_wrappers() ... done [18:23:32.309] | : . | parse_call() ... [18:23:32.309] | : . | : Function: lapply(...) [18:23:32.309] | : . | : Locate function ... [18:23:32.309] | : . | : . Function located in: 'base' [18:23:32.310] | : . | : Locate function ... done [18:23:32.310] | : . | parse_call() ... done [18:23:32.310] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.310] | : . | lapply [18:23:32.310] | : . Finding call to be transpiled ... done [18:23:32.310] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.311] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.311] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.311] | : . | Transpiler function: [18:23:32.311] | : . | function (expr, options = NULL) [18:23:32.311] | : . | { [18:23:32.311] | : . | call <- make_call("future_lapply") [18:23:32.311] | : . | fcn <- eval(call) [18:23:32.311] | : . | expr[[1]] <- call [18:23:32.311] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.311] | : . | { [18:23:32.311] | : . | if (length(options) == 0L) return(options) [18:23:32.311] | : . | if (is.null(defaults_base)) { [18:23:32.311] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.311] | : . | } [18:23:32.311] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.311] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.311] | : . | defaults <- defaults[keep] [18:23:32.311] | : . | specified <- attr(options, "specified") [18:23:32.311] | : . | if (length(specified) > 0) { [18:23:32.311] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.311] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.311] | : . | names(options)) [18:23:32.311] | : . | } [18:23:32.311] | : . | specified <- sprintf("future.%s", specified) [18:23:32.311] | : . | names <- setdiff(names(defaults), specified) [18:23:32.311] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.311] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.311] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.311] | : . | options <- options[keep] [18:23:32.311] | : . | options [18:23:32.311] | : . | })(options, fcn)) [18:23:32.311] | : . | expr <- as.call(parts) [18:23:32.311] | : . | expr [18:23:32.311] | : . | } [18:23:32.311] | : . | [18:23:32.312] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.312] | : get_transpiler() ... done [18:23:32.312] | : Transpile call expression ... [18:23:32.312] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.312] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.312] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [18:23:32.313] | : Transpile call expression ... done [18:23:32.313] | : Evaluate transpiled call expression [18:23:32.432] | transpile() ... done [18:23:32.433] futurize() ... done Test with RNG: futurize(lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [18:23:32.433] futurize() ... [18:23:32.433] | transpile() ... [18:23:32.433] | : get_transpiler() ... [18:23:32.434] | : . Finding call to be transpiled ... [18:23:32.434] | : . | decend_wrappers() ... [18:23:32.434] | : . | : Call: [18:23:32.434] | : . | : lapply [18:23:32.434] | : . | : parse_call() ... [18:23:32.434] | : . | : . Function: lapply(...) [18:23:32.435] | : . | : . Locate function ... [18:23:32.435] | : . | : . | Function located in: 'base' [18:23:32.435] | : . | : . Locate function ... done [18:23:32.435] | : . | : parse_call() ... done [18:23:32.435] | : . | decend_wrappers() ... done [18:23:32.435] | : . | parse_call() ... [18:23:32.436] | : . | : Function: lapply(...) [18:23:32.436] | : . | : Locate function ... [18:23:32.436] | : . | : . Function located in: 'base' [18:23:32.436] | : . | : Locate function ... done [18:23:32.436] | : . | parse_call() ... done [18:23:32.436] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.437] | : . | lapply [18:23:32.437] | : . Finding call to be transpiled ... done [18:23:32.437] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.437] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.437] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.437] | : . | Transpiler function: [18:23:32.438] | : . | function (expr, options = NULL) [18:23:32.438] | : . | { [18:23:32.438] | : . | call <- make_call("future_lapply") [18:23:32.438] | : . | fcn <- eval(call) [18:23:32.438] | : . | expr[[1]] <- call [18:23:32.438] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.438] | : . | { [18:23:32.438] | : . | if (length(options) == 0L) return(options) [18:23:32.438] | : . | if (is.null(defaults_base)) { [18:23:32.438] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.438] | : . | } [18:23:32.438] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.438] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.438] | : . | defaults <- defaults[keep] [18:23:32.438] | : . | specified <- attr(options, "specified") [18:23:32.438] | : . | if (length(specified) > 0) { [18:23:32.438] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.438] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.438] | : . | names(options)) [18:23:32.438] | : . | } [18:23:32.438] | : . | specified <- sprintf("future.%s", specified) [18:23:32.438] | : . | names <- setdiff(names(defaults), specified) [18:23:32.438] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.438] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.438] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.438] | : . | options <- options[keep] [18:23:32.438] | : . | options [18:23:32.438] | : . | })(options, fcn)) [18:23:32.438] | : . | expr <- as.call(parts) [18:23:32.438] | : . | expr [18:23:32.438] | : . | } [18:23:32.438] | : . | [18:23:32.438] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.438] | : get_transpiler() ... done [18:23:32.439] | : Transpile call expression ... [18:23:32.439] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:32.439] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.439] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.440] | : Transpile call expression ... done [18:23:32.440] | : Evaluate transpiled call expression [18:23:32.478] | transpile() ... done [18:23:32.478] futurize() ... done === lapply ========================== base::lapply(X = xs, FUN = FUN) --------------------------------- [18:23:32.479] futurize() ... [18:23:32.479] | transpile() ... [18:23:32.479] | : get_transpiler() ... [18:23:32.479] | : . Finding call to be transpiled ... [18:23:32.479] | : . | decend_wrappers() ... [18:23:32.480] | : . | : Call: [18:23:32.480] | : . | : base::lapply [18:23:32.480] | : . | : parse_call() ... [18:23:32.480] | : . | : . Function: base::lapply(...) [18:23:32.480] | : . | : parse_call() ... done [18:23:32.480] | : . | decend_wrappers() ... done [18:23:32.481] | : . | parse_call() ... [18:23:32.481] | : . | : Function: base::lapply(...) [18:23:32.481] | : . | parse_call() ... done [18:23:32.481] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.481] | : . | base::lapply [18:23:32.482] | : . Finding call to be transpiled ... done [18:23:32.482] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.482] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.482] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.482] | : . | Transpiler function: [18:23:32.482] | : . | function (expr, options = NULL) [18:23:32.482] | : . | { [18:23:32.482] | : . | call <- make_call("future_lapply") [18:23:32.482] | : . | fcn <- eval(call) [18:23:32.482] | : . | expr[[1]] <- call [18:23:32.482] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.482] | : . | { [18:23:32.482] | : . | if (length(options) == 0L) return(options) [18:23:32.482] | : . | if (is.null(defaults_base)) { [18:23:32.482] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.482] | : . | } [18:23:32.482] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.482] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.482] | : . | defaults <- defaults[keep] [18:23:32.482] | : . | specified <- attr(options, "specified") [18:23:32.482] | : . | if (length(specified) > 0) { [18:23:32.482] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.482] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.482] | : . | names(options)) [18:23:32.482] | : . | } [18:23:32.482] | : . | specified <- sprintf("future.%s", specified) [18:23:32.482] | : . | names <- setdiff(names(defaults), specified) [18:23:32.482] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.482] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.482] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.482] | : . | options <- options[keep] [18:23:32.482] | : . | options [18:23:32.482] | : . | })(options, fcn)) [18:23:32.482] | : . | expr <- as.call(parts) [18:23:32.482] | : . | expr [18:23:32.482] | : . | } [18:23:32.482] | : . | [18:23:32.483] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.483] | : get_transpiler() ... done [18:23:32.483] | : Transpile call expression ... [18:23:32.484] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.484] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.484] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.485] | : Transpile call expression ... done [18:23:32.485] | : Evaluate transpiled call expression [18:23:32.521] | transpile() ... done [18:23:32.521] futurize() ... done [18:23:32.522] futurize() ... [18:23:32.522] | transpile() ... [18:23:32.522] | : get_transpiler() ... [18:23:32.522] | : . Finding call to be transpiled ... [18:23:32.523] | : . | decend_wrappers() ... [18:23:32.523] | : . | : Call: [18:23:32.523] | : . | : base::lapply [18:23:32.523] | : . | : parse_call() ... [18:23:32.523] | : . | : . Function: base::lapply(...) [18:23:32.524] | : . | : parse_call() ... done [18:23:32.524] | : . | decend_wrappers() ... done [18:23:32.524] | : . | parse_call() ... [18:23:32.524] | : . | : Function: base::lapply(...) [18:23:32.524] | : . | parse_call() ... done [18:23:32.524] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.524] | : . | base::lapply [18:23:32.525] | : . Finding call to be transpiled ... done [18:23:32.525] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.525] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.525] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.525] | : . | Transpiler function: [18:23:32.526] | : . | function (expr, options = NULL) [18:23:32.526] | : . | { [18:23:32.526] | : . | call <- make_call("future_lapply") [18:23:32.526] | : . | fcn <- eval(call) [18:23:32.526] | : . | expr[[1]] <- call [18:23:32.526] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.526] | : . | { [18:23:32.526] | : . | if (length(options) == 0L) return(options) [18:23:32.526] | : . | if (is.null(defaults_base)) { [18:23:32.526] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.526] | : . | } [18:23:32.526] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.526] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.526] | : . | defaults <- defaults[keep] [18:23:32.526] | : . | specified <- attr(options, "specified") [18:23:32.526] | : . | if (length(specified) > 0) { [18:23:32.526] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.526] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.526] | : . | names(options)) [18:23:32.526] | : . | } [18:23:32.526] | : . | specified <- sprintf("future.%s", specified) [18:23:32.526] | : . | names <- setdiff(names(defaults), specified) [18:23:32.526] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.526] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.526] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.526] | : . | options <- options[keep] [18:23:32.526] | : . | options [18:23:32.526] | : . | })(options, fcn)) [18:23:32.526] | : . | expr <- as.call(parts) [18:23:32.526] | : . | expr [18:23:32.526] | : . | } [18:23:32.526] | : . | [18:23:32.526] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.526] | : get_transpiler() ... done [18:23:32.527] | : Transpile call expression ... [18:23:32.527] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.527] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:32.527] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.528] | : Transpile call expression ... done [18:23:32.528] | : Evaluate transpiled call expression [18:23:32.561] | transpile() ... done [18:23:32.561] futurize() ... done character(0) [18:23:32.561] futurize() ... [18:23:32.562] | transpile() ... [18:23:32.562] | : get_transpiler() ... [18:23:32.562] | : . Finding call to be transpiled ... [18:23:32.562] | : . | decend_wrappers() ... [18:23:32.562] | : . | : Call: [18:23:32.562] | : . | : base::lapply [18:23:32.563] | : . | : parse_call() ... [18:23:32.563] | : . | : . Function: base::lapply(...) [18:23:32.563] | : . | : parse_call() ... done [18:23:32.563] | : . | decend_wrappers() ... done [18:23:32.563] | : . | parse_call() ... [18:23:32.564] | : . | : Function: base::lapply(...) [18:23:32.564] | : . | parse_call() ... done [18:23:32.564] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.564] | : . | base::lapply [18:23:32.564] | : . Finding call to be transpiled ... done [18:23:32.565] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.565] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.565] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.565] | : . | Transpiler function: [18:23:32.566] | : . | function (expr, options = NULL) [18:23:32.566] | : . | { [18:23:32.566] | : . | call <- make_call("future_lapply") [18:23:32.566] | : . | fcn <- eval(call) [18:23:32.566] | : . | expr[[1]] <- call [18:23:32.566] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.566] | : . | { [18:23:32.566] | : . | if (length(options) == 0L) return(options) [18:23:32.566] | : . | if (is.null(defaults_base)) { [18:23:32.566] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.566] | : . | } [18:23:32.566] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.566] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.566] | : . | defaults <- defaults[keep] [18:23:32.566] | : . | specified <- attr(options, "specified") [18:23:32.566] | : . | if (length(specified) > 0) { [18:23:32.566] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.566] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.566] | : . | names(options)) [18:23:32.566] | : . | } [18:23:32.566] | : . | specified <- sprintf("future.%s", specified) [18:23:32.566] | : . | names <- setdiff(names(defaults), specified) [18:23:32.566] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.566] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.566] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.566] | : . | options <- options[keep] [18:23:32.566] | : . | options [18:23:32.566] | : . | })(options, fcn)) [18:23:32.566] | : . | expr <- as.call(parts) [18:23:32.566] | : . | expr [18:23:32.566] | : . | } [18:23:32.566] | : . | [18:23:32.567] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.567] | : get_transpiler() ... done [18:23:32.567] | : Transpile call expression ... [18:23:32.568] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.568] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.568] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [18:23:32.569] | : Transpile call expression ... done [18:23:32.569] | : Evaluate transpiled call expression [18:23:32.651] | transpile() ... done [18:23:32.651] futurize() ... done Test with RNG: futurize(base::lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [18:23:32.652] futurize() ... [18:23:32.652] | transpile() ... [18:23:32.652] | : get_transpiler() ... [18:23:32.652] | : . Finding call to be transpiled ... [18:23:32.652] | : . | decend_wrappers() ... [18:23:32.652] | : . | : Call: [18:23:32.653] | : . | : base::lapply [18:23:32.653] | : . | : parse_call() ... [18:23:32.653] | : . | : . Function: base::lapply(...) [18:23:32.653] | : . | : parse_call() ... done [18:23:32.653] | : . | decend_wrappers() ... done [18:23:32.654] | : . | parse_call() ... [18:23:32.654] | : . | : Function: base::lapply(...) [18:23:32.654] | : . | parse_call() ... done [18:23:32.654] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.654] | : . | base::lapply [18:23:32.654] | : . Finding call to be transpiled ... done [18:23:32.655] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:32.655] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.655] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:32.655] | : . | Transpiler function: [18:23:32.655] | : . | function (expr, options = NULL) [18:23:32.655] | : . | { [18:23:32.655] | : . | call <- make_call("future_lapply") [18:23:32.655] | : . | fcn <- eval(call) [18:23:32.655] | : . | expr[[1]] <- call [18:23:32.655] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.655] | : . | { [18:23:32.655] | : . | if (length(options) == 0L) return(options) [18:23:32.655] | : . | if (is.null(defaults_base)) { [18:23:32.655] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.655] | : . | } [18:23:32.655] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.655] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.655] | : . | defaults <- defaults[keep] [18:23:32.655] | : . | specified <- attr(options, "specified") [18:23:32.655] | : . | if (length(specified) > 0) { [18:23:32.655] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.655] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.655] | : . | names(options)) [18:23:32.655] | : . | } [18:23:32.655] | : . | specified <- sprintf("future.%s", specified) [18:23:32.655] | : . | names <- setdiff(names(defaults), specified) [18:23:32.655] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.655] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.655] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.655] | : . | options <- options[keep] [18:23:32.655] | : . | options [18:23:32.655] | : . | })(options, fcn)) [18:23:32.655] | : . | expr <- as.call(parts) [18:23:32.655] | : . | expr [18:23:32.655] | : . | } [18:23:32.655] | : . | [18:23:32.656] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:32.656] | : get_transpiler() ... done [18:23:32.656] | : Transpile call expression ... [18:23:32.657] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:32.657] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.657] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:32.657] | : Transpile call expression ... done [18:23:32.658] | : Evaluate transpiled call expression [18:23:32.710] | transpile() ... done [18:23:32.710] futurize() ... done === sapply ========================== sapply(X = xs, FUN = FUN) --------------------------------- [18:23:32.711] futurize() ... [18:23:32.711] | transpile() ... [18:23:32.711] | : get_transpiler() ... [18:23:32.712] | : . Finding call to be transpiled ... [18:23:32.712] | : . | decend_wrappers() ... [18:23:32.712] | : . | : Call: [18:23:32.712] | : . | : sapply [18:23:32.712] | : . | : parse_call() ... [18:23:32.712] | : . | : . Function: sapply(...) [18:23:32.713] | : . | : . Locate function ... [18:23:32.713] | : . | : . | Function located in: 'base' [18:23:32.713] | : . | : . Locate function ... done [18:23:32.713] | : . | : parse_call() ... done [18:23:32.713] | : . | decend_wrappers() ... done [18:23:32.713] | : . | parse_call() ... [18:23:32.714] | : . | : Function: sapply(...) [18:23:32.714] | : . | : Locate function ... [18:23:32.714] | : . | : . Function located in: 'base' [18:23:32.714] | : . | : Locate function ... done [18:23:32.714] | : . | parse_call() ... done [18:23:32.714] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.715] | : . | sapply [18:23:32.715] | : . Finding call to be transpiled ... done [18:23:32.715] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:32.715] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.715] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:32.715] | : . | Transpiler function: [18:23:32.716] | : . | function (expr, options = NULL) [18:23:32.716] | : . | { [18:23:32.716] | : . | call <- make_call("future_sapply") [18:23:32.716] | : . | fcn <- eval(call) [18:23:32.716] | : . | expr[[1]] <- call [18:23:32.716] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.716] | : . | { [18:23:32.716] | : . | if (length(options) == 0L) return(options) [18:23:32.716] | : . | if (is.null(defaults_base)) { [18:23:32.716] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.716] | : . | } [18:23:32.716] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.716] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.716] | : . | defaults <- defaults[keep] [18:23:32.716] | : . | specified <- attr(options, "specified") [18:23:32.716] | : . | if (length(specified) > 0) { [18:23:32.716] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.716] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.716] | : . | names(options)) [18:23:32.716] | : . | } [18:23:32.716] | : . | specified <- sprintf("future.%s", specified) [18:23:32.716] | : . | names <- setdiff(names(defaults), specified) [18:23:32.716] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.716] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.716] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.716] | : . | options <- options[keep] [18:23:32.716] | : . | options [18:23:32.716] | : . | })(options, fcn)) [18:23:32.716] | : . | expr <- as.call(parts) [18:23:32.716] | : . | expr [18:23:32.716] | : . | } [18:23:32.716] | : . | [18:23:32.716] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:32.716] | : get_transpiler() ... done [18:23:32.717] | : Transpile call expression ... [18:23:32.717] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.717] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.717] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:32.718] | : Transpile call expression ... done [18:23:32.718] | : Evaluate transpiled call expression [18:23:32.753] | transpile() ... done [18:23:32.753] futurize() ... done [18:23:32.753] futurize() ... [18:23:32.753] | transpile() ... [18:23:32.753] | : get_transpiler() ... [18:23:32.754] | : . Finding call to be transpiled ... [18:23:32.754] | : . | decend_wrappers() ... [18:23:32.754] | : . | : Call: [18:23:32.754] | : . | : sapply [18:23:32.754] | : . | : parse_call() ... [18:23:32.755] | : . | : . Function: sapply(...) [18:23:32.755] | : . | : . Locate function ... [18:23:32.755] | : . | : . | Function located in: 'base' [18:23:32.755] | : . | : . Locate function ... done [18:23:32.755] | : . | : parse_call() ... done [18:23:32.755] | : . | decend_wrappers() ... done [18:23:32.756] | : . | parse_call() ... [18:23:32.756] | : . | : Function: sapply(...) [18:23:32.756] | : . | : Locate function ... [18:23:32.756] | : . | : . Function located in: 'base' [18:23:32.756] | : . | : Locate function ... done [18:23:32.756] | : . | parse_call() ... done [18:23:32.757] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.757] | : . | sapply [18:23:32.757] | : . Finding call to be transpiled ... done [18:23:32.757] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:32.757] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.758] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:32.758] | : . | Transpiler function: [18:23:32.758] | : . | function (expr, options = NULL) [18:23:32.758] | : . | { [18:23:32.758] | : . | call <- make_call("future_sapply") [18:23:32.758] | : . | fcn <- eval(call) [18:23:32.758] | : . | expr[[1]] <- call [18:23:32.758] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.758] | : . | { [18:23:32.758] | : . | if (length(options) == 0L) return(options) [18:23:32.758] | : . | if (is.null(defaults_base)) { [18:23:32.758] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.758] | : . | } [18:23:32.758] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.758] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.758] | : . | defaults <- defaults[keep] [18:23:32.758] | : . | specified <- attr(options, "specified") [18:23:32.758] | : . | if (length(specified) > 0) { [18:23:32.758] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.758] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.758] | : . | names(options)) [18:23:32.758] | : . | } [18:23:32.758] | : . | specified <- sprintf("future.%s", specified) [18:23:32.758] | : . | names <- setdiff(names(defaults), specified) [18:23:32.758] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.758] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.758] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.758] | : . | options <- options[keep] [18:23:32.758] | : . | options [18:23:32.758] | : . | })(options, fcn)) [18:23:32.758] | : . | expr <- as.call(parts) [18:23:32.758] | : . | expr [18:23:32.758] | : . | } [18:23:32.758] | : . | [18:23:32.758] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:32.759] | : get_transpiler() ... done [18:23:32.759] | : Transpile call expression ... [18:23:32.759] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.759] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:32.759] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:32.760] | : Transpile call expression ... done [18:23:32.760] | : Evaluate transpiled call expression [18:23:32.793] | transpile() ... done [18:23:32.793] futurize() ... done character(0) [18:23:32.794] futurize() ... [18:23:32.794] | transpile() ... [18:23:32.794] | : get_transpiler() ... [18:23:32.794] | : . Finding call to be transpiled ... [18:23:32.794] | : . | decend_wrappers() ... [18:23:32.794] | : . | : Call: [18:23:32.795] | : . | : sapply [18:23:32.795] | : . | : parse_call() ... [18:23:32.795] | : . | : . Function: sapply(...) [18:23:32.795] | : . | : . Locate function ... [18:23:32.795] | : . | : . | Function located in: 'base' [18:23:32.796] | : . | : . Locate function ... done [18:23:32.796] | : . | : parse_call() ... done [18:23:32.796] | : . | decend_wrappers() ... done [18:23:32.796] | : . | parse_call() ... [18:23:32.796] | : . | : Function: sapply(...) [18:23:32.796] | : . | : Locate function ... [18:23:32.797] | : . | : . Function located in: 'base' [18:23:32.797] | : . | : Locate function ... done [18:23:32.797] | : . | parse_call() ... done [18:23:32.797] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.797] | : . | sapply [18:23:32.797] | : . Finding call to be transpiled ... done [18:23:32.798] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:32.798] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.798] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:32.798] | : . | Transpiler function: [18:23:32.798] | : . | function (expr, options = NULL) [18:23:32.798] | : . | { [18:23:32.798] | : . | call <- make_call("future_sapply") [18:23:32.798] | : . | fcn <- eval(call) [18:23:32.798] | : . | expr[[1]] <- call [18:23:32.798] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.798] | : . | { [18:23:32.798] | : . | if (length(options) == 0L) return(options) [18:23:32.798] | : . | if (is.null(defaults_base)) { [18:23:32.798] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.798] | : . | } [18:23:32.798] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.798] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.798] | : . | defaults <- defaults[keep] [18:23:32.798] | : . | specified <- attr(options, "specified") [18:23:32.798] | : . | if (length(specified) > 0) { [18:23:32.798] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.798] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.798] | : . | names(options)) [18:23:32.798] | : . | } [18:23:32.798] | : . | specified <- sprintf("future.%s", specified) [18:23:32.798] | : . | names <- setdiff(names(defaults), specified) [18:23:32.798] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.798] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.798] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.798] | : . | options <- options[keep] [18:23:32.798] | : . | options [18:23:32.798] | : . | })(options, fcn)) [18:23:32.798] | : . | expr <- as.call(parts) [18:23:32.798] | : . | expr [18:23:32.798] | : . | } [18:23:32.798] | : . | [18:23:32.799] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:32.799] | : get_transpiler() ... done [18:23:32.799] | : Transpile call expression ... [18:23:32.800] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.800] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.800] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [18:23:32.800] | : Transpile call expression ... done [18:23:32.801] | : Evaluate transpiled call expression [18:23:32.885] | transpile() ... done [18:23:32.886] futurize() ... done Test with RNG: futurize(sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [18:23:32.886] futurize() ... [18:23:32.886] | transpile() ... [18:23:32.886] | : get_transpiler() ... [18:23:32.887] | : . Finding call to be transpiled ... [18:23:32.887] | : . | decend_wrappers() ... [18:23:32.887] | : . | : Call: [18:23:32.887] | : . | : sapply [18:23:32.887] | : . | : parse_call() ... [18:23:32.887] | : . | : . Function: sapply(...) [18:23:32.888] | : . | : . Locate function ... [18:23:32.888] | : . | : . | Function located in: 'base' [18:23:32.888] | : . | : . Locate function ... done [18:23:32.888] | : . | : parse_call() ... done [18:23:32.888] | : . | decend_wrappers() ... done [18:23:32.888] | : . | parse_call() ... [18:23:32.889] | : . | : Function: sapply(...) [18:23:32.889] | : . | : Locate function ... [18:23:32.889] | : . | : . Function located in: 'base' [18:23:32.889] | : . | : Locate function ... done [18:23:32.889] | : . | parse_call() ... done [18:23:32.889] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.890] | : . | sapply [18:23:32.890] | : . Finding call to be transpiled ... done [18:23:32.890] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:32.890] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.890] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:32.891] | : . | Transpiler function: [18:23:32.891] | : . | function (expr, options = NULL) [18:23:32.891] | : . | { [18:23:32.891] | : . | call <- make_call("future_sapply") [18:23:32.891] | : . | fcn <- eval(call) [18:23:32.891] | : . | expr[[1]] <- call [18:23:32.891] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.891] | : . | { [18:23:32.891] | : . | if (length(options) == 0L) return(options) [18:23:32.891] | : . | if (is.null(defaults_base)) { [18:23:32.891] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.891] | : . | } [18:23:32.891] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.891] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.891] | : . | defaults <- defaults[keep] [18:23:32.891] | : . | specified <- attr(options, "specified") [18:23:32.891] | : . | if (length(specified) > 0) { [18:23:32.891] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.891] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.891] | : . | names(options)) [18:23:32.891] | : . | } [18:23:32.891] | : . | specified <- sprintf("future.%s", specified) [18:23:32.891] | : . | names <- setdiff(names(defaults), specified) [18:23:32.891] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.891] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.891] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.891] | : . | options <- options[keep] [18:23:32.891] | : . | options [18:23:32.891] | : . | })(options, fcn)) [18:23:32.891] | : . | expr <- as.call(parts) [18:23:32.891] | : . | expr [18:23:32.891] | : . | } [18:23:32.891] | : . | [18:23:32.891] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:32.891] | : get_transpiler() ... done [18:23:32.892] | : Transpile call expression ... [18:23:32.892] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:32.892] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.892] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:32.893] | : Transpile call expression ... done [18:23:32.893] | : Evaluate transpiled call expression [18:23:32.934] | transpile() ... done [18:23:32.935] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN) --------------------------------- [18:23:32.935] futurize() ... [18:23:32.936] | transpile() ... [18:23:32.936] | : get_transpiler() ... [18:23:32.936] | : . Finding call to be transpiled ... [18:23:32.936] | : . | decend_wrappers() ... [18:23:32.936] | : . | : Call: [18:23:32.936] | : . | : base::sapply [18:23:32.937] | : . | : parse_call() ... [18:23:32.937] | : . | : . Function: base::sapply(...) [18:23:32.937] | : . | : parse_call() ... done [18:23:32.937] | : . | decend_wrappers() ... done [18:23:32.937] | : . | parse_call() ... [18:23:32.937] | : . | : Function: base::sapply(...) [18:23:32.938] | : . | parse_call() ... done [18:23:32.938] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.938] | : . | base::sapply [18:23:32.938] | : . Finding call to be transpiled ... done [18:23:32.938] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:32.939] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.939] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:32.939] | : . | Transpiler function: [18:23:32.939] | : . | function (expr, options = NULL) [18:23:32.939] | : . | { [18:23:32.939] | : . | call <- make_call("future_sapply") [18:23:32.939] | : . | fcn <- eval(call) [18:23:32.939] | : . | expr[[1]] <- call [18:23:32.939] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.939] | : . | { [18:23:32.939] | : . | if (length(options) == 0L) return(options) [18:23:32.939] | : . | if (is.null(defaults_base)) { [18:23:32.939] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.939] | : . | } [18:23:32.939] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.939] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.939] | : . | defaults <- defaults[keep] [18:23:32.939] | : . | specified <- attr(options, "specified") [18:23:32.939] | : . | if (length(specified) > 0) { [18:23:32.939] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.939] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.939] | : . | names(options)) [18:23:32.939] | : . | } [18:23:32.939] | : . | specified <- sprintf("future.%s", specified) [18:23:32.939] | : . | names <- setdiff(names(defaults), specified) [18:23:32.939] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.939] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.939] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.939] | : . | options <- options[keep] [18:23:32.939] | : . | options [18:23:32.939] | : . | })(options, fcn)) [18:23:32.939] | : . | expr <- as.call(parts) [18:23:32.939] | : . | expr [18:23:32.939] | : . | } [18:23:32.939] | : . | [18:23:32.940] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:32.940] | : get_transpiler() ... done [18:23:32.940] | : Transpile call expression ... [18:23:32.940] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.940] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:32.940] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:32.942] | : Transpile call expression ... done [18:23:32.942] | : Evaluate transpiled call expression [18:23:32.975] | transpile() ... done [18:23:32.976] futurize() ... done [18:23:32.976] futurize() ... [18:23:32.976] | transpile() ... [18:23:32.976] | : get_transpiler() ... [18:23:32.976] | : . Finding call to be transpiled ... [18:23:32.978] | : . | decend_wrappers() ... [18:23:32.978] | : . | : Call: [18:23:32.978] | : . | : base::sapply [18:23:32.979] | : . | : parse_call() ... [18:23:32.979] | : . | : . Function: base::sapply(...) [18:23:32.979] | : . | : parse_call() ... done [18:23:32.979] | : . | decend_wrappers() ... done [18:23:32.979] | : . | parse_call() ... [18:23:32.979] | : . | : Function: base::sapply(...) [18:23:32.980] | : . | parse_call() ... done [18:23:32.980] | : . | Position of call to be transpiled in expression: c(1) [18:23:32.980] | : . | base::sapply [18:23:32.980] | : . Finding call to be transpiled ... done [18:23:32.980] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:32.980] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:32.981] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:32.981] | : . | Transpiler function: [18:23:32.981] | : . | function (expr, options = NULL) [18:23:32.981] | : . | { [18:23:32.981] | : . | call <- make_call("future_sapply") [18:23:32.981] | : . | fcn <- eval(call) [18:23:32.981] | : . | expr[[1]] <- call [18:23:32.981] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:32.981] | : . | { [18:23:32.981] | : . | if (length(options) == 0L) return(options) [18:23:32.981] | : . | if (is.null(defaults_base)) { [18:23:32.981] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:32.981] | : . | } [18:23:32.981] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:32.981] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:32.981] | : . | defaults <- defaults[keep] [18:23:32.981] | : . | specified <- attr(options, "specified") [18:23:32.981] | : . | if (length(specified) > 0) { [18:23:32.981] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:32.981] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:32.981] | : . | names(options)) [18:23:32.981] | : . | } [18:23:32.981] | : . | specified <- sprintf("future.%s", specified) [18:23:32.981] | : . | names <- setdiff(names(defaults), specified) [18:23:32.981] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:32.981] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:32.981] | : . | keep <- intersect(names(options), names(defaults)) [18:23:32.981] | : . | options <- options[keep] [18:23:32.981] | : . | options [18:23:32.981] | : . | })(options, fcn)) [18:23:32.981] | : . | expr <- as.call(parts) [18:23:32.981] | : . | expr [18:23:32.981] | : . | } [18:23:32.981] | : . | [18:23:32.982] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:32.982] | : get_transpiler() ... done [18:23:32.982] | : Transpile call expression ... [18:23:32.982] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:32.982] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:32.982] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:32.983] | : Transpile call expression ... done [18:23:32.983] | : Evaluate transpiled call expression [18:23:33.017] | transpile() ... done [18:23:33.017] futurize() ... done character(0) [18:23:33.017] futurize() ... [18:23:33.017] | transpile() ... [18:23:33.018] | : get_transpiler() ... [18:23:33.018] | : . Finding call to be transpiled ... [18:23:33.018] | : . | decend_wrappers() ... [18:23:33.018] | : . | : Call: [18:23:33.018] | : . | : base::sapply [18:23:33.019] | : . | : parse_call() ... [18:23:33.019] | : . | : . Function: base::sapply(...) [18:23:33.019] | : . | : parse_call() ... done [18:23:33.019] | : . | decend_wrappers() ... done [18:23:33.019] | : . | parse_call() ... [18:23:33.019] | : . | : Function: base::sapply(...) [18:23:33.020] | : . | parse_call() ... done [18:23:33.020] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.020] | : . | base::sapply [18:23:33.020] | : . Finding call to be transpiled ... done [18:23:33.020] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.021] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.021] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.021] | : . | Transpiler function: [18:23:33.021] | : . | function (expr, options = NULL) [18:23:33.021] | : . | { [18:23:33.021] | : . | call <- make_call("future_sapply") [18:23:33.021] | : . | fcn <- eval(call) [18:23:33.021] | : . | expr[[1]] <- call [18:23:33.021] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.021] | : . | { [18:23:33.021] | : . | if (length(options) == 0L) return(options) [18:23:33.021] | : . | if (is.null(defaults_base)) { [18:23:33.021] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.021] | : . | } [18:23:33.021] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.021] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.021] | : . | defaults <- defaults[keep] [18:23:33.021] | : . | specified <- attr(options, "specified") [18:23:33.021] | : . | if (length(specified) > 0) { [18:23:33.021] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.021] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.021] | : . | names(options)) [18:23:33.021] | : . | } [18:23:33.021] | : . | specified <- sprintf("future.%s", specified) [18:23:33.021] | : . | names <- setdiff(names(defaults), specified) [18:23:33.021] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.021] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.021] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.021] | : . | options <- options[keep] [18:23:33.021] | : . | options [18:23:33.021] | : . | })(options, fcn)) [18:23:33.021] | : . | expr <- as.call(parts) [18:23:33.021] | : . | expr [18:23:33.021] | : . | } [18:23:33.021] | : . | [18:23:33.022] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.022] | : get_transpiler() ... done [18:23:33.022] | : Transpile call expression ... [18:23:33.022] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:33.022] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:33.022] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [18:23:33.023] | : Transpile call expression ... done [18:23:33.023] | : Evaluate transpiled call expression [18:23:33.120] | transpile() ... done [18:23:33.120] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [18:23:33.120] futurize() ... [18:23:33.121] | transpile() ... [18:23:33.121] | : get_transpiler() ... [18:23:33.121] | : . Finding call to be transpiled ... [18:23:33.121] | : . | decend_wrappers() ... [18:23:33.121] | : . | : Call: [18:23:33.121] | : . | : base::sapply [18:23:33.122] | : . | : parse_call() ... [18:23:33.122] | : . | : . Function: base::sapply(...) [18:23:33.122] | : . | : parse_call() ... done [18:23:33.122] | : . | decend_wrappers() ... done [18:23:33.122] | : . | parse_call() ... [18:23:33.123] | : . | : Function: base::sapply(...) [18:23:33.123] | : . | parse_call() ... done [18:23:33.123] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.123] | : . | base::sapply [18:23:33.123] | : . Finding call to be transpiled ... done [18:23:33.124] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.124] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.124] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.124] | : . | Transpiler function: [18:23:33.124] | : . | function (expr, options = NULL) [18:23:33.124] | : . | { [18:23:33.124] | : . | call <- make_call("future_sapply") [18:23:33.124] | : . | fcn <- eval(call) [18:23:33.124] | : . | expr[[1]] <- call [18:23:33.124] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.124] | : . | { [18:23:33.124] | : . | if (length(options) == 0L) return(options) [18:23:33.124] | : . | if (is.null(defaults_base)) { [18:23:33.124] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.124] | : . | } [18:23:33.124] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.124] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.124] | : . | defaults <- defaults[keep] [18:23:33.124] | : . | specified <- attr(options, "specified") [18:23:33.124] | : . | if (length(specified) > 0) { [18:23:33.124] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.124] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.124] | : . | names(options)) [18:23:33.124] | : . | } [18:23:33.124] | : . | specified <- sprintf("future.%s", specified) [18:23:33.124] | : . | names <- setdiff(names(defaults), specified) [18:23:33.124] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.124] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.124] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.124] | : . | options <- options[keep] [18:23:33.124] | : . | options [18:23:33.124] | : . | })(options, fcn)) [18:23:33.124] | : . | expr <- as.call(parts) [18:23:33.124] | : . | expr [18:23:33.124] | : . | } [18:23:33.124] | : . | [18:23:33.125] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.125] | : get_transpiler() ... done [18:23:33.125] | : Transpile call expression ... [18:23:33.126] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:33.126] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:33.126] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:33.126] | : Transpile call expression ... done [18:23:33.127] | : Evaluate transpiled call expression [18:23:33.166] | transpile() ... done [18:23:33.167] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, simplify = FALSE) --------------------------------- [18:23:33.167] futurize() ... [18:23:33.168] | transpile() ... [18:23:33.168] | : get_transpiler() ... [18:23:33.168] | : . Finding call to be transpiled ... [18:23:33.168] | : . | decend_wrappers() ... [18:23:33.168] | : . | : Call: [18:23:33.168] | : . | : base::sapply [18:23:33.169] | : . | : parse_call() ... [18:23:33.169] | : . | : . Function: base::sapply(...) [18:23:33.169] | : . | : parse_call() ... done [18:23:33.169] | : . | decend_wrappers() ... done [18:23:33.169] | : . | parse_call() ... [18:23:33.169] | : . | : Function: base::sapply(...) [18:23:33.170] | : . | parse_call() ... done [18:23:33.170] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.170] | : . | base::sapply [18:23:33.170] | : . Finding call to be transpiled ... done [18:23:33.170] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.171] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.171] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.171] | : . | Transpiler function: [18:23:33.171] | : . | function (expr, options = NULL) [18:23:33.171] | : . | { [18:23:33.171] | : . | call <- make_call("future_sapply") [18:23:33.171] | : . | fcn <- eval(call) [18:23:33.171] | : . | expr[[1]] <- call [18:23:33.171] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.171] | : . | { [18:23:33.171] | : . | if (length(options) == 0L) return(options) [18:23:33.171] | : . | if (is.null(defaults_base)) { [18:23:33.171] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.171] | : . | } [18:23:33.171] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.171] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.171] | : . | defaults <- defaults[keep] [18:23:33.171] | : . | specified <- attr(options, "specified") [18:23:33.171] | : . | if (length(specified) > 0) { [18:23:33.171] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.171] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.171] | : . | names(options)) [18:23:33.171] | : . | } [18:23:33.171] | : . | specified <- sprintf("future.%s", specified) [18:23:33.171] | : . | names <- setdiff(names(defaults), specified) [18:23:33.171] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.171] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.171] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.171] | : . | options <- options[keep] [18:23:33.171] | : . | options [18:23:33.171] | : . | })(options, fcn)) [18:23:33.171] | : . | expr <- as.call(parts) [18:23:33.171] | : . | expr [18:23:33.171] | : . | } [18:23:33.171] | : . | [18:23:33.172] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.172] | : get_transpiler() ... done [18:23:33.172] | : Transpile call expression ... [18:23:33.172] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:33.172] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.172] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:33.173] | : Transpile call expression ... done [18:23:33.173] | : Evaluate transpiled call expression [18:23:33.209] | transpile() ... done [18:23:33.209] futurize() ... done [18:23:33.210] futurize() ... [18:23:33.210] | transpile() ... [18:23:33.210] | : get_transpiler() ... [18:23:33.210] | : . Finding call to be transpiled ... [18:23:33.210] | : . | decend_wrappers() ... [18:23:33.210] | : . | : Call: [18:23:33.211] | : . | : base::sapply [18:23:33.211] | : . | : parse_call() ... [18:23:33.211] | : . | : . Function: base::sapply(...) [18:23:33.211] | : . | : parse_call() ... done [18:23:33.211] | : . | decend_wrappers() ... done [18:23:33.211] | : . | parse_call() ... [18:23:33.212] | : . | : Function: base::sapply(...) [18:23:33.212] | : . | parse_call() ... done [18:23:33.212] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.212] | : . | base::sapply [18:23:33.212] | : . Finding call to be transpiled ... done [18:23:33.213] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.213] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.213] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.213] | : . | Transpiler function: [18:23:33.213] | : . | function (expr, options = NULL) [18:23:33.213] | : . | { [18:23:33.213] | : . | call <- make_call("future_sapply") [18:23:33.213] | : . | fcn <- eval(call) [18:23:33.213] | : . | expr[[1]] <- call [18:23:33.213] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.213] | : . | { [18:23:33.213] | : . | if (length(options) == 0L) return(options) [18:23:33.213] | : . | if (is.null(defaults_base)) { [18:23:33.213] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.213] | : . | } [18:23:33.213] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.213] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.213] | : . | defaults <- defaults[keep] [18:23:33.213] | : . | specified <- attr(options, "specified") [18:23:33.213] | : . | if (length(specified) > 0) { [18:23:33.213] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.213] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.213] | : . | names(options)) [18:23:33.213] | : . | } [18:23:33.213] | : . | specified <- sprintf("future.%s", specified) [18:23:33.213] | : . | names <- setdiff(names(defaults), specified) [18:23:33.213] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.213] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.213] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.213] | : . | options <- options[keep] [18:23:33.213] | : . | options [18:23:33.213] | : . | })(options, fcn)) [18:23:33.213] | : . | expr <- as.call(parts) [18:23:33.213] | : . | expr [18:23:33.213] | : . | } [18:23:33.213] | : . | [18:23:33.214] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.214] | : get_transpiler() ... done [18:23:33.214] | : Transpile call expression ... [18:23:33.215] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:33.215] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:33.215] | : . future.conditions = character(0), future.scheduling = 1, [18:23:33.215] | : . future.label = "future_sapply-%d") [18:23:33.215] | : Transpile call expression ... done [18:23:33.216] | : Evaluate transpiled call expression [18:23:33.250] | transpile() ... done [18:23:33.251] futurize() ... done character(0) [18:23:33.251] futurize() ... [18:23:33.251] | transpile() ... [18:23:33.251] | : get_transpiler() ... [18:23:33.251] | : . Finding call to be transpiled ... [18:23:33.252] | : . | decend_wrappers() ... [18:23:33.252] | : . | : Call: [18:23:33.252] | : . | : base::sapply [18:23:33.252] | : . | : parse_call() ... [18:23:33.252] | : . | : . Function: base::sapply(...) [18:23:33.253] | : . | : parse_call() ... done [18:23:33.253] | : . | decend_wrappers() ... done [18:23:33.253] | : . | parse_call() ... [18:23:33.253] | : . | : Function: base::sapply(...) [18:23:33.253] | : . | parse_call() ... done [18:23:33.253] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.253] | : . | base::sapply [18:23:33.254] | : . Finding call to be transpiled ... done [18:23:33.254] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.254] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.254] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.255] | : . | Transpiler function: [18:23:33.255] | : . | function (expr, options = NULL) [18:23:33.255] | : . | { [18:23:33.255] | : . | call <- make_call("future_sapply") [18:23:33.255] | : . | fcn <- eval(call) [18:23:33.255] | : . | expr[[1]] <- call [18:23:33.255] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.255] | : . | { [18:23:33.255] | : . | if (length(options) == 0L) return(options) [18:23:33.255] | : . | if (is.null(defaults_base)) { [18:23:33.255] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.255] | : . | } [18:23:33.255] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.255] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.255] | : . | defaults <- defaults[keep] [18:23:33.255] | : . | specified <- attr(options, "specified") [18:23:33.255] | : . | if (length(specified) > 0) { [18:23:33.255] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.255] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.255] | : . | names(options)) [18:23:33.255] | : . | } [18:23:33.255] | : . | specified <- sprintf("future.%s", specified) [18:23:33.255] | : . | names <- setdiff(names(defaults), specified) [18:23:33.255] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.255] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.255] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.255] | : . | options <- options[keep] [18:23:33.255] | : . | options [18:23:33.255] | : . | })(options, fcn)) [18:23:33.255] | : . | expr <- as.call(parts) [18:23:33.255] | : . | expr [18:23:33.255] | : . | } [18:23:33.255] | : . | [18:23:33.255] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.256] | : get_transpiler() ... done [18:23:33.256] | : Transpile call expression ... [18:23:33.256] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:33.256] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.256] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:33.256] | : . future.label = "future_sapply-%d") [18:23:33.257] | : Transpile call expression ... done [18:23:33.257] | : Evaluate transpiled call expression [18:23:33.339] | transpile() ... done [18:23:33.339] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, simplify = FALSE), seed = TRUE, flavor = "add-on") [18:23:33.340] futurize() ... [18:23:33.340] | transpile() ... [18:23:33.340] | : get_transpiler() ... [18:23:33.340] | : . Finding call to be transpiled ... [18:23:33.340] | : . | decend_wrappers() ... [18:23:33.340] | : . | : Call: [18:23:33.341] | : . | : base::sapply [18:23:33.341] | : . | : parse_call() ... [18:23:33.341] | : . | : . Function: base::sapply(...) [18:23:33.341] | : . | : parse_call() ... done [18:23:33.341] | : . | decend_wrappers() ... done [18:23:33.342] | : . | parse_call() ... [18:23:33.342] | : . | : Function: base::sapply(...) [18:23:33.342] | : . | parse_call() ... done [18:23:33.342] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.342] | : . | base::sapply [18:23:33.342] | : . Finding call to be transpiled ... done [18:23:33.343] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.343] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.343] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.343] | : . | Transpiler function: [18:23:33.343] | : . | function (expr, options = NULL) [18:23:33.343] | : . | { [18:23:33.343] | : . | call <- make_call("future_sapply") [18:23:33.343] | : . | fcn <- eval(call) [18:23:33.343] | : . | expr[[1]] <- call [18:23:33.343] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.343] | : . | { [18:23:33.343] | : . | if (length(options) == 0L) return(options) [18:23:33.343] | : . | if (is.null(defaults_base)) { [18:23:33.343] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.343] | : . | } [18:23:33.343] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.343] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.343] | : . | defaults <- defaults[keep] [18:23:33.343] | : . | specified <- attr(options, "specified") [18:23:33.343] | : . | if (length(specified) > 0) { [18:23:33.343] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.343] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.343] | : . | names(options)) [18:23:33.343] | : . | } [18:23:33.343] | : . | specified <- sprintf("future.%s", specified) [18:23:33.343] | : . | names <- setdiff(names(defaults), specified) [18:23:33.343] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.343] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.343] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.343] | : . | options <- options[keep] [18:23:33.343] | : . | options [18:23:33.343] | : . | })(options, fcn)) [18:23:33.343] | : . | expr <- as.call(parts) [18:23:33.343] | : . | expr [18:23:33.343] | : . | } [18:23:33.343] | : . | [18:23:33.344] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.344] | : get_transpiler() ... done [18:23:33.344] | : Transpile call expression ... [18:23:33.345] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:33.345] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.345] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:33.345] | : Transpile call expression ... done [18:23:33.346] | : Evaluate transpiled call expression [18:23:33.383] | transpile() ... done [18:23:33.383] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [18:23:33.384] futurize() ... [18:23:33.384] | transpile() ... [18:23:33.384] | : get_transpiler() ... [18:23:33.384] | : . Finding call to be transpiled ... [18:23:33.384] | : . | decend_wrappers() ... [18:23:33.384] | : . | : Call: [18:23:33.385] | : . | : base::sapply [18:23:33.385] | : . | : parse_call() ... [18:23:33.385] | : . | : . Function: base::sapply(...) [18:23:33.385] | : . | : parse_call() ... done [18:23:33.385] | : . | decend_wrappers() ... done [18:23:33.385] | : . | parse_call() ... [18:23:33.386] | : . | : Function: base::sapply(...) [18:23:33.386] | : . | parse_call() ... done [18:23:33.386] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.386] | : . | base::sapply [18:23:33.386] | : . Finding call to be transpiled ... done [18:23:33.387] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.387] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.387] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.387] | : . | Transpiler function: [18:23:33.387] | : . | function (expr, options = NULL) [18:23:33.387] | : . | { [18:23:33.387] | : . | call <- make_call("future_sapply") [18:23:33.387] | : . | fcn <- eval(call) [18:23:33.387] | : . | expr[[1]] <- call [18:23:33.387] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.387] | : . | { [18:23:33.387] | : . | if (length(options) == 0L) return(options) [18:23:33.387] | : . | if (is.null(defaults_base)) { [18:23:33.387] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.387] | : . | } [18:23:33.387] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.387] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.387] | : . | defaults <- defaults[keep] [18:23:33.387] | : . | specified <- attr(options, "specified") [18:23:33.387] | : . | if (length(specified) > 0) { [18:23:33.387] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.387] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.387] | : . | names(options)) [18:23:33.387] | : . | } [18:23:33.387] | : . | specified <- sprintf("future.%s", specified) [18:23:33.387] | : . | names <- setdiff(names(defaults), specified) [18:23:33.387] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.387] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.387] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.387] | : . | options <- options[keep] [18:23:33.387] | : . | options [18:23:33.387] | : . | })(options, fcn)) [18:23:33.387] | : . | expr <- as.call(parts) [18:23:33.387] | : . | expr [18:23:33.387] | : . | } [18:23:33.387] | : . | [18:23:33.388] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.388] | : get_transpiler() ... done [18:23:33.388] | : Transpile call expression ... [18:23:33.389] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:33.389] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.389] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:33.389] | : Transpile call expression ... done [18:23:33.390] | : Evaluate transpiled call expression [18:23:33.424] | transpile() ... done [18:23:33.425] futurize() ... done [18:23:33.425] futurize() ... [18:23:33.425] | transpile() ... [18:23:33.425] | : get_transpiler() ... [18:23:33.425] | : . Finding call to be transpiled ... [18:23:33.426] | : . | decend_wrappers() ... [18:23:33.426] | : . | : Call: [18:23:33.426] | : . | : base::sapply [18:23:33.426] | : . | : parse_call() ... [18:23:33.426] | : . | : . Function: base::sapply(...) [18:23:33.427] | : . | : parse_call() ... done [18:23:33.427] | : . | decend_wrappers() ... done [18:23:33.427] | : . | parse_call() ... [18:23:33.427] | : . | : Function: base::sapply(...) [18:23:33.427] | : . | parse_call() ... done [18:23:33.427] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.427] | : . | base::sapply [18:23:33.428] | : . Finding call to be transpiled ... done [18:23:33.428] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.428] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.428] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.428] | : . | Transpiler function: [18:23:33.429] | : . | function (expr, options = NULL) [18:23:33.429] | : . | { [18:23:33.429] | : . | call <- make_call("future_sapply") [18:23:33.429] | : . | fcn <- eval(call) [18:23:33.429] | : . | expr[[1]] <- call [18:23:33.429] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.429] | : . | { [18:23:33.429] | : . | if (length(options) == 0L) return(options) [18:23:33.429] | : . | if (is.null(defaults_base)) { [18:23:33.429] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.429] | : . | } [18:23:33.429] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.429] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.429] | : . | defaults <- defaults[keep] [18:23:33.429] | : . | specified <- attr(options, "specified") [18:23:33.429] | : . | if (length(specified) > 0) { [18:23:33.429] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.429] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.429] | : . | names(options)) [18:23:33.429] | : . | } [18:23:33.429] | : . | specified <- sprintf("future.%s", specified) [18:23:33.429] | : . | names <- setdiff(names(defaults), specified) [18:23:33.429] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.429] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.429] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.429] | : . | options <- options[keep] [18:23:33.429] | : . | options [18:23:33.429] | : . | })(options, fcn)) [18:23:33.429] | : . | expr <- as.call(parts) [18:23:33.429] | : . | expr [18:23:33.429] | : . | } [18:23:33.429] | : . | [18:23:33.429] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.429] | : get_transpiler() ... done [18:23:33.430] | : Transpile call expression ... [18:23:33.430] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:33.430] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:33.430] | : . future.conditions = character(0), future.scheduling = 1, [18:23:33.430] | : . future.label = "future_sapply-%d") [18:23:33.431] | : Transpile call expression ... done [18:23:33.431] | : Evaluate transpiled call expression [18:23:33.466] | transpile() ... done [18:23:33.467] futurize() ... done character(0) [18:23:33.467] futurize() ... [18:23:33.467] | transpile() ... [18:23:33.467] | : get_transpiler() ... [18:23:33.467] | : . Finding call to be transpiled ... [18:23:33.467] | : . | decend_wrappers() ... [18:23:33.468] | : . | : Call: [18:23:33.468] | : . | : base::sapply [18:23:33.468] | : . | : parse_call() ... [18:23:33.468] | : . | : . Function: base::sapply(...) [18:23:33.468] | : . | : parse_call() ... done [18:23:33.469] | : . | decend_wrappers() ... done [18:23:33.469] | : . | parse_call() ... [18:23:33.469] | : . | : Function: base::sapply(...) [18:23:33.469] | : . | parse_call() ... done [18:23:33.469] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.469] | : . | base::sapply [18:23:33.470] | : . Finding call to be transpiled ... done [18:23:33.470] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.470] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.470] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.470] | : . | Transpiler function: [18:23:33.470] | : . | function (expr, options = NULL) [18:23:33.470] | : . | { [18:23:33.470] | : . | call <- make_call("future_sapply") [18:23:33.470] | : . | fcn <- eval(call) [18:23:33.470] | : . | expr[[1]] <- call [18:23:33.470] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.470] | : . | { [18:23:33.470] | : . | if (length(options) == 0L) return(options) [18:23:33.470] | : . | if (is.null(defaults_base)) { [18:23:33.470] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.470] | : . | } [18:23:33.470] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.470] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.470] | : . | defaults <- defaults[keep] [18:23:33.470] | : . | specified <- attr(options, "specified") [18:23:33.470] | : . | if (length(specified) > 0) { [18:23:33.470] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.470] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.470] | : . | names(options)) [18:23:33.470] | : . | } [18:23:33.470] | : . | specified <- sprintf("future.%s", specified) [18:23:33.470] | : . | names <- setdiff(names(defaults), specified) [18:23:33.470] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.470] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.470] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.470] | : . | options <- options[keep] [18:23:33.470] | : . | options [18:23:33.470] | : . | })(options, fcn)) [18:23:33.470] | : . | expr <- as.call(parts) [18:23:33.470] | : . | expr [18:23:33.470] | : . | } [18:23:33.470] | : . | [18:23:33.473] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.473] | : get_transpiler() ... done [18:23:33.473] | : Transpile call expression ... [18:23:33.473] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:33.473] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.473] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:33.473] | : . future.label = "future_sapply-%d") [18:23:33.474] | : Transpile call expression ... done [18:23:33.474] | : Evaluate transpiled call expression [18:23:33.557] | transpile() ... done [18:23:33.558] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [18:23:33.558] futurize() ... [18:23:33.558] | transpile() ... [18:23:33.558] | : get_transpiler() ... [18:23:33.558] | : . Finding call to be transpiled ... [18:23:33.559] | : . | decend_wrappers() ... [18:23:33.559] | : . | : Call: [18:23:33.559] | : . | : base::sapply [18:23:33.559] | : . | : parse_call() ... [18:23:33.559] | : . | : . Function: base::sapply(...) [18:23:33.560] | : . | : parse_call() ... done [18:23:33.560] | : . | decend_wrappers() ... done [18:23:33.560] | : . | parse_call() ... [18:23:33.560] | : . | : Function: base::sapply(...) [18:23:33.560] | : . | parse_call() ... done [18:23:33.560] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.561] | : . | base::sapply [18:23:33.561] | : . Finding call to be transpiled ... done [18:23:33.561] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:33.561] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.561] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:33.561] | : . | Transpiler function: [18:23:33.562] | : . | function (expr, options = NULL) [18:23:33.562] | : . | { [18:23:33.562] | : . | call <- make_call("future_sapply") [18:23:33.562] | : . | fcn <- eval(call) [18:23:33.562] | : . | expr[[1]] <- call [18:23:33.562] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.562] | : . | { [18:23:33.562] | : . | if (length(options) == 0L) return(options) [18:23:33.562] | : . | if (is.null(defaults_base)) { [18:23:33.562] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.562] | : . | } [18:23:33.562] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.562] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.562] | : . | defaults <- defaults[keep] [18:23:33.562] | : . | specified <- attr(options, "specified") [18:23:33.562] | : . | if (length(specified) > 0) { [18:23:33.562] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.562] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.562] | : . | names(options)) [18:23:33.562] | : . | } [18:23:33.562] | : . | specified <- sprintf("future.%s", specified) [18:23:33.562] | : . | names <- setdiff(names(defaults), specified) [18:23:33.562] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.562] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.562] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.562] | : . | options <- options[keep] [18:23:33.562] | : . | options [18:23:33.562] | : . | })(options, fcn)) [18:23:33.562] | : . | expr <- as.call(parts) [18:23:33.562] | : . | expr [18:23:33.562] | : . | } [18:23:33.562] | : . | [18:23:33.562] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:33.562] | : get_transpiler() ... done [18:23:33.563] | : Transpile call expression ... [18:23:33.563] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:33.563] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.563] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:33.564] | : Transpile call expression ... done [18:23:33.564] | : Evaluate transpiled call expression [18:23:33.602] | transpile() ... done [18:23:33.602] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN) --------------------------------- [18:23:33.603] futurize() ... [18:23:33.603] | transpile() ... [18:23:33.603] | : get_transpiler() ... [18:23:33.604] | : . Finding call to be transpiled ... [18:23:33.604] | : . | decend_wrappers() ... [18:23:33.604] | : . | : Call: [18:23:33.604] | : . | : base::vapply [18:23:33.604] | : . | : parse_call() ... [18:23:33.604] | : . | : . Function: base::vapply(...) [18:23:33.605] | : . | : parse_call() ... done [18:23:33.605] | : . | decend_wrappers() ... done [18:23:33.605] | : . | parse_call() ... [18:23:33.605] | : . | : Function: base::vapply(...) [18:23:33.605] | : . | parse_call() ... done [18:23:33.605] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.606] | : . | base::vapply [18:23:33.606] | : . Finding call to be transpiled ... done [18:23:33.606] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:33.606] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.606] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:33.607] | : . | Transpiler function: [18:23:33.607] | : . | function (expr, options = NULL) [18:23:33.607] | : . | { [18:23:33.607] | : . | call <- make_call("future_vapply") [18:23:33.607] | : . | fcn <- eval(call) [18:23:33.607] | : . | expr[[1]] <- call [18:23:33.607] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.607] | : . | { [18:23:33.607] | : . | if (length(options) == 0L) return(options) [18:23:33.607] | : . | if (is.null(defaults_base)) { [18:23:33.607] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.607] | : . | } [18:23:33.607] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.607] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.607] | : . | defaults <- defaults[keep] [18:23:33.607] | : . | specified <- attr(options, "specified") [18:23:33.607] | : . | if (length(specified) > 0) { [18:23:33.607] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.607] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.607] | : . | names(options)) [18:23:33.607] | : . | } [18:23:33.607] | : . | specified <- sprintf("future.%s", specified) [18:23:33.607] | : . | names <- setdiff(names(defaults), specified) [18:23:33.607] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.607] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.607] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.607] | : . | options <- options[keep] [18:23:33.607] | : . | options [18:23:33.607] | : . | })(options, fcn)) [18:23:33.607] | : . | expr <- as.call(parts) [18:23:33.607] | : . | expr [18:23:33.607] | : . | } [18:23:33.607] | : . | [18:23:33.608] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:33.608] | : get_transpiler() ... done [18:23:33.608] | : Transpile call expression ... [18:23:33.608] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:33.608] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.608] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [18:23:33.609] | : Transpile call expression ... done [18:23:33.609] | : Evaluate transpiled call expression [18:23:33.670] | transpile() ... done [18:23:33.671] futurize() ... done [18:23:33.671] futurize() ... [18:23:33.671] | transpile() ... [18:23:33.671] | : get_transpiler() ... [18:23:33.671] | : . Finding call to be transpiled ... [18:23:33.672] | : . | decend_wrappers() ... [18:23:33.672] | : . | : Call: [18:23:33.672] | : . | : base::vapply [18:23:33.672] | : . | : parse_call() ... [18:23:33.672] | : . | : . Function: base::vapply(...) [18:23:33.673] | : . | : parse_call() ... done [18:23:33.673] | : . | decend_wrappers() ... done [18:23:33.673] | : . | parse_call() ... [18:23:33.673] | : . | : Function: base::vapply(...) [18:23:33.673] | : . | parse_call() ... done [18:23:33.673] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.674] | : . | base::vapply [18:23:33.674] | : . Finding call to be transpiled ... done [18:23:33.674] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:33.674] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.674] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:33.675] | : . | Transpiler function: [18:23:33.675] | : . | function (expr, options = NULL) [18:23:33.675] | : . | { [18:23:33.675] | : . | call <- make_call("future_vapply") [18:23:33.675] | : . | fcn <- eval(call) [18:23:33.675] | : . | expr[[1]] <- call [18:23:33.675] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.675] | : . | { [18:23:33.675] | : . | if (length(options) == 0L) return(options) [18:23:33.675] | : . | if (is.null(defaults_base)) { [18:23:33.675] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.675] | : . | } [18:23:33.675] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.675] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.675] | : . | defaults <- defaults[keep] [18:23:33.675] | : . | specified <- attr(options, "specified") [18:23:33.675] | : . | if (length(specified) > 0) { [18:23:33.675] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.675] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.675] | : . | names(options)) [18:23:33.675] | : . | } [18:23:33.675] | : . | specified <- sprintf("future.%s", specified) [18:23:33.675] | : . | names <- setdiff(names(defaults), specified) [18:23:33.675] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.675] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.675] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.675] | : . | options <- options[keep] [18:23:33.675] | : . | options [18:23:33.675] | : . | })(options, fcn)) [18:23:33.675] | : . | expr <- as.call(parts) [18:23:33.675] | : . | expr [18:23:33.675] | : . | } [18:23:33.675] | : . | [18:23:33.675] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:33.676] | : get_transpiler() ... done [18:23:33.676] | : Transpile call expression ... [18:23:33.676] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:33.676] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:33.676] | : . future.conditions = character(0), future.scheduling = 1, [18:23:33.676] | : . future.label = "future_vapply-%d") [18:23:33.677] | : Transpile call expression ... done [18:23:33.677] | : Evaluate transpiled call expression [18:23:33.740] | transpile() ... done [18:23:33.740] futurize() ... done character(0) [18:23:33.741] futurize() ... [18:23:33.741] | transpile() ... [18:23:33.741] | : get_transpiler() ... [18:23:33.741] | : . Finding call to be transpiled ... [18:23:33.741] | : . | decend_wrappers() ... [18:23:33.741] | : . | : Call: [18:23:33.742] | : . | : base::vapply [18:23:33.742] | : . | : parse_call() ... [18:23:33.742] | : . | : . Function: base::vapply(...) [18:23:33.742] | : . | : parse_call() ... done [18:23:33.742] | : . | decend_wrappers() ... done [18:23:33.743] | : . | parse_call() ... [18:23:33.743] | : . | : Function: base::vapply(...) [18:23:33.743] | : . | parse_call() ... done [18:23:33.743] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.743] | : . | base::vapply [18:23:33.743] | : . Finding call to be transpiled ... done [18:23:33.744] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:33.744] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.744] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:33.744] | : . | Transpiler function: [18:23:33.744] | : . | function (expr, options = NULL) [18:23:33.744] | : . | { [18:23:33.744] | : . | call <- make_call("future_vapply") [18:23:33.744] | : . | fcn <- eval(call) [18:23:33.744] | : . | expr[[1]] <- call [18:23:33.744] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.744] | : . | { [18:23:33.744] | : . | if (length(options) == 0L) return(options) [18:23:33.744] | : . | if (is.null(defaults_base)) { [18:23:33.744] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.744] | : . | } [18:23:33.744] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.744] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.744] | : . | defaults <- defaults[keep] [18:23:33.744] | : . | specified <- attr(options, "specified") [18:23:33.744] | : . | if (length(specified) > 0) { [18:23:33.744] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.744] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.744] | : . | names(options)) [18:23:33.744] | : . | } [18:23:33.744] | : . | specified <- sprintf("future.%s", specified) [18:23:33.744] | : . | names <- setdiff(names(defaults), specified) [18:23:33.744] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.744] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.744] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.744] | : . | options <- options[keep] [18:23:33.744] | : . | options [18:23:33.744] | : . | })(options, fcn)) [18:23:33.744] | : . | expr <- as.call(parts) [18:23:33.744] | : . | expr [18:23:33.744] | : . | } [18:23:33.744] | : . | [18:23:33.745] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:33.745] | : get_transpiler() ... done [18:23:33.745] | : Transpile call expression ... [18:23:33.746] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:33.746] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.746] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:33.746] | : . future.label = "future_vapply-%d") [18:23:33.747] | : Transpile call expression ... done [18:23:33.747] | : Evaluate transpiled call expression [18:23:33.855] | transpile() ... done [18:23:33.855] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN), seed = TRUE, flavor = "add-on") [18:23:33.855] futurize() ... [18:23:33.855] | transpile() ... [18:23:33.856] | : get_transpiler() ... [18:23:33.856] | : . Finding call to be transpiled ... [18:23:33.856] | : . | decend_wrappers() ... [18:23:33.856] | : . | : Call: [18:23:33.856] | : . | : base::vapply [18:23:33.856] | : . | : parse_call() ... [18:23:33.857] | : . | : . Function: base::vapply(...) [18:23:33.857] | : . | : parse_call() ... done [18:23:33.857] | : . | decend_wrappers() ... done [18:23:33.857] | : . | parse_call() ... [18:23:33.857] | : . | : Function: base::vapply(...) [18:23:33.857] | : . | parse_call() ... done [18:23:33.858] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.858] | : . | base::vapply [18:23:33.858] | : . Finding call to be transpiled ... done [18:23:33.858] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:33.858] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.859] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:33.859] | : . | Transpiler function: [18:23:33.859] | : . | function (expr, options = NULL) [18:23:33.859] | : . | { [18:23:33.859] | : . | call <- make_call("future_vapply") [18:23:33.859] | : . | fcn <- eval(call) [18:23:33.859] | : . | expr[[1]] <- call [18:23:33.859] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.859] | : . | { [18:23:33.859] | : . | if (length(options) == 0L) return(options) [18:23:33.859] | : . | if (is.null(defaults_base)) { [18:23:33.859] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.859] | : . | } [18:23:33.859] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.859] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.859] | : . | defaults <- defaults[keep] [18:23:33.859] | : . | specified <- attr(options, "specified") [18:23:33.859] | : . | if (length(specified) > 0) { [18:23:33.859] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.859] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.859] | : . | names(options)) [18:23:33.859] | : . | } [18:23:33.859] | : . | specified <- sprintf("future.%s", specified) [18:23:33.859] | : . | names <- setdiff(names(defaults), specified) [18:23:33.859] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.859] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.859] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.859] | : . | options <- options[keep] [18:23:33.859] | : . | options [18:23:33.859] | : . | })(options, fcn)) [18:23:33.859] | : . | expr <- as.call(parts) [18:23:33.859] | : . | expr [18:23:33.859] | : . | } [18:23:33.859] | : . | [18:23:33.860] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:33.860] | : get_transpiler() ... done [18:23:33.860] | : Transpile call expression ... [18:23:33.860] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:33.860] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:33.860] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [18:23:33.861] | : Transpile call expression ... done [18:23:33.861] | : Evaluate transpiled call expression [18:23:33.931] | transpile() ... done [18:23:33.931] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [18:23:33.932] futurize() ... [18:23:33.932] | transpile() ... [18:23:33.933] | : get_transpiler() ... [18:23:33.933] | : . Finding call to be transpiled ... [18:23:33.933] | : . | decend_wrappers() ... [18:23:33.933] | : . | : Call: [18:23:33.933] | : . | : base::vapply [18:23:33.933] | : . | : parse_call() ... [18:23:33.934] | : . | : . Function: base::vapply(...) [18:23:33.934] | : . | : parse_call() ... done [18:23:33.934] | : . | decend_wrappers() ... done [18:23:33.934] | : . | parse_call() ... [18:23:33.934] | : . | : Function: base::vapply(...) [18:23:33.934] | : . | parse_call() ... done [18:23:33.935] | : . | Position of call to be transpiled in expression: c(1) [18:23:33.935] | : . | base::vapply [18:23:33.935] | : . Finding call to be transpiled ... done [18:23:33.935] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:33.935] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:33.936] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:33.936] | : . | Transpiler function: [18:23:33.936] | : . | function (expr, options = NULL) [18:23:33.936] | : . | { [18:23:33.936] | : . | call <- make_call("future_vapply") [18:23:33.936] | : . | fcn <- eval(call) [18:23:33.936] | : . | expr[[1]] <- call [18:23:33.936] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:33.936] | : . | { [18:23:33.936] | : . | if (length(options) == 0L) return(options) [18:23:33.936] | : . | if (is.null(defaults_base)) { [18:23:33.936] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:33.936] | : . | } [18:23:33.936] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:33.936] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:33.936] | : . | defaults <- defaults[keep] [18:23:33.936] | : . | specified <- attr(options, "specified") [18:23:33.936] | : . | if (length(specified) > 0) { [18:23:33.936] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:33.936] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:33.936] | : . | names(options)) [18:23:33.936] | : . | } [18:23:33.936] | : . | specified <- sprintf("future.%s", specified) [18:23:33.936] | : . | names <- setdiff(names(defaults), specified) [18:23:33.936] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:33.936] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:33.936] | : . | keep <- intersect(names(options), names(defaults)) [18:23:33.936] | : . | options <- options[keep] [18:23:33.936] | : . | options [18:23:33.936] | : . | })(options, fcn)) [18:23:33.936] | : . | expr <- as.call(parts) [18:23:33.936] | : . | expr [18:23:33.936] | : . | } [18:23:33.936] | : . | [18:23:33.937] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:33.937] | : get_transpiler() ... done [18:23:33.937] | : Transpile call expression ... [18:23:33.937] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:33.937] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [18:23:33.937] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:33.937] | : . future.label = "future_vapply-%d") [18:23:33.938] | : Transpile call expression ... done [18:23:33.938] | : Evaluate transpiled call expression [18:23:34.001] | transpile() ... done [18:23:34.001] futurize() ... done [18:23:34.001] futurize() ... [18:23:34.001] | transpile() ... [18:23:34.001] | : get_transpiler() ... [18:23:34.002] | : . Finding call to be transpiled ... [18:23:34.002] | : . | decend_wrappers() ... [18:23:34.002] | : . | : Call: [18:23:34.002] | : . | : base::vapply [18:23:34.002] | : . | : parse_call() ... [18:23:34.003] | : . | : . Function: base::vapply(...) [18:23:34.003] | : . | : parse_call() ... done [18:23:34.003] | : . | decend_wrappers() ... done [18:23:34.003] | : . | parse_call() ... [18:23:34.003] | : . | : Function: base::vapply(...) [18:23:34.003] | : . | parse_call() ... done [18:23:34.004] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.004] | : . | base::vapply [18:23:34.004] | : . Finding call to be transpiled ... done [18:23:34.004] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:34.004] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.005] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:34.005] | : . | Transpiler function: [18:23:34.005] | : . | function (expr, options = NULL) [18:23:34.005] | : . | { [18:23:34.005] | : . | call <- make_call("future_vapply") [18:23:34.005] | : . | fcn <- eval(call) [18:23:34.005] | : . | expr[[1]] <- call [18:23:34.005] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.005] | : . | { [18:23:34.005] | : . | if (length(options) == 0L) return(options) [18:23:34.005] | : . | if (is.null(defaults_base)) { [18:23:34.005] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.005] | : . | } [18:23:34.005] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.005] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.005] | : . | defaults <- defaults[keep] [18:23:34.005] | : . | specified <- attr(options, "specified") [18:23:34.005] | : . | if (length(specified) > 0) { [18:23:34.005] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.005] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.005] | : . | names(options)) [18:23:34.005] | : . | } [18:23:34.005] | : . | specified <- sprintf("future.%s", specified) [18:23:34.005] | : . | names <- setdiff(names(defaults), specified) [18:23:34.005] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.005] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.005] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.005] | : . | options <- options[keep] [18:23:34.005] | : . | options [18:23:34.005] | : . | })(options, fcn)) [18:23:34.005] | : . | expr <- as.call(parts) [18:23:34.005] | : . | expr [18:23:34.005] | : . | } [18:23:34.005] | : . | [18:23:34.006] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:34.006] | : get_transpiler() ... done [18:23:34.006] | : Transpile call expression ... [18:23:34.006] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:34.006] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [18:23:34.006] | : . future.stdout = FALSE, future.conditions = character(0), [18:23:34.006] | : . future.scheduling = 1, future.label = "future_vapply-%d") [18:23:34.007] | : Transpile call expression ... done [18:23:34.007] | : Evaluate transpiled call expression [18:23:34.068] | transpile() ... done [18:23:34.068] futurize() ... done character(0) [18:23:34.068] futurize() ... [18:23:34.069] | transpile() ... [18:23:34.069] | : get_transpiler() ... [18:23:34.069] | : . Finding call to be transpiled ... [18:23:34.069] | : . | decend_wrappers() ... [18:23:34.069] | : . | : Call: [18:23:34.069] | : . | : base::vapply [18:23:34.070] | : . | : parse_call() ... [18:23:34.070] | : . | : . Function: base::vapply(...) [18:23:34.070] | : . | : parse_call() ... done [18:23:34.070] | : . | decend_wrappers() ... done [18:23:34.070] | : . | parse_call() ... [18:23:34.071] | : . | : Function: base::vapply(...) [18:23:34.071] | : . | parse_call() ... done [18:23:34.071] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.071] | : . | base::vapply [18:23:34.071] | : . Finding call to be transpiled ... done [18:23:34.072] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:34.072] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.072] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:34.072] | : . | Transpiler function: [18:23:34.072] | : . | function (expr, options = NULL) [18:23:34.072] | : . | { [18:23:34.072] | : . | call <- make_call("future_vapply") [18:23:34.072] | : . | fcn <- eval(call) [18:23:34.072] | : . | expr[[1]] <- call [18:23:34.072] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.072] | : . | { [18:23:34.072] | : . | if (length(options) == 0L) return(options) [18:23:34.072] | : . | if (is.null(defaults_base)) { [18:23:34.072] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.072] | : . | } [18:23:34.072] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.072] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.072] | : . | defaults <- defaults[keep] [18:23:34.072] | : . | specified <- attr(options, "specified") [18:23:34.072] | : . | if (length(specified) > 0) { [18:23:34.072] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.072] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.072] | : . | names(options)) [18:23:34.072] | : . | } [18:23:34.072] | : . | specified <- sprintf("future.%s", specified) [18:23:34.072] | : . | names <- setdiff(names(defaults), specified) [18:23:34.072] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.072] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.072] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.072] | : . | options <- options[keep] [18:23:34.072] | : . | options [18:23:34.072] | : . | })(options, fcn)) [18:23:34.072] | : . | expr <- as.call(parts) [18:23:34.072] | : . | expr [18:23:34.072] | : . | } [18:23:34.072] | : . | [18:23:34.073] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:34.073] | : get_transpiler() ... done [18:23:34.073] | : Transpile call expression ... [18:23:34.074] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:34.074] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [18:23:34.074] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:34.074] | : . future.chunk.size = 1L, future.label = "future_vapply-%d") [18:23:34.075] | : Transpile call expression ... done [18:23:34.075] | : Evaluate transpiled call expression [18:23:34.184] | transpile() ... done [18:23:34.184] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [18:23:34.185] futurize() ... [18:23:34.185] | transpile() ... [18:23:34.185] | : get_transpiler() ... [18:23:34.185] | : . Finding call to be transpiled ... [18:23:34.185] | : . | decend_wrappers() ... [18:23:34.186] | : . | : Call: [18:23:34.186] | : . | : base::vapply [18:23:34.186] | : . | : parse_call() ... [18:23:34.186] | : . | : . Function: base::vapply(...) [18:23:34.186] | : . | : parse_call() ... done [18:23:34.186] | : . | decend_wrappers() ... done [18:23:34.187] | : . | parse_call() ... [18:23:34.187] | : . | : Function: base::vapply(...) [18:23:34.187] | : . | parse_call() ... done [18:23:34.187] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.187] | : . | base::vapply [18:23:34.188] | : . Finding call to be transpiled ... done [18:23:34.188] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:34.188] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.188] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:34.188] | : . | Transpiler function: [18:23:34.188] | : . | function (expr, options = NULL) [18:23:34.188] | : . | { [18:23:34.188] | : . | call <- make_call("future_vapply") [18:23:34.188] | : . | fcn <- eval(call) [18:23:34.188] | : . | expr[[1]] <- call [18:23:34.188] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.188] | : . | { [18:23:34.188] | : . | if (length(options) == 0L) return(options) [18:23:34.188] | : . | if (is.null(defaults_base)) { [18:23:34.188] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.188] | : . | } [18:23:34.188] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.188] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.188] | : . | defaults <- defaults[keep] [18:23:34.188] | : . | specified <- attr(options, "specified") [18:23:34.188] | : . | if (length(specified) > 0) { [18:23:34.188] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.188] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.188] | : . | names(options)) [18:23:34.188] | : . | } [18:23:34.188] | : . | specified <- sprintf("future.%s", specified) [18:23:34.188] | : . | names <- setdiff(names(defaults), specified) [18:23:34.188] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.188] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.188] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.188] | : . | options <- options[keep] [18:23:34.188] | : . | options [18:23:34.188] | : . | })(options, fcn)) [18:23:34.188] | : . | expr <- as.call(parts) [18:23:34.188] | : . | expr [18:23:34.188] | : . | } [18:23:34.188] | : . | [18:23:34.189] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:34.189] | : get_transpiler() ... done [18:23:34.189] | : Transpile call expression ... [18:23:34.190] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:34.190] | : . USE.NAMES = FALSE, future.seed = TRUE, future.globals = TRUE, [18:23:34.190] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:34.190] | : . future.label = "future_vapply-%d") [18:23:34.191] | : Transpile call expression ... done [18:23:34.191] | : Evaluate transpiled call expression [18:23:34.255] | transpile() ... done [18:23:34.255] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN) --------------------------------- [18:23:34.256] futurize() ... [18:23:34.256] | transpile() ... [18:23:34.256] | : get_transpiler() ... [18:23:34.256] | : . Finding call to be transpiled ... [18:23:34.256] | : . | decend_wrappers() ... [18:23:34.256] | : . | : Call: [18:23:34.257] | : . | : base::eapply [18:23:34.257] | : . | : parse_call() ... [18:23:34.257] | : . | : . Function: base::eapply(...) [18:23:34.257] | : . | : parse_call() ... done [18:23:34.257] | : . | decend_wrappers() ... done [18:23:34.258] | : . | parse_call() ... [18:23:34.258] | : . | : Function: base::eapply(...) [18:23:34.258] | : . | parse_call() ... done [18:23:34.258] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.258] | : . | base::eapply [18:23:34.259] | : . Finding call to be transpiled ... done [18:23:34.259] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.259] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.259] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.259] | : . | Transpiler function: [18:23:34.259] | : . | function (expr, options = NULL) [18:23:34.259] | : . | { [18:23:34.259] | : . | call <- make_call("future_eapply") [18:23:34.259] | : . | fcn <- eval(call) [18:23:34.259] | : . | expr[[1]] <- call [18:23:34.259] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.259] | : . | { [18:23:34.259] | : . | if (length(options) == 0L) return(options) [18:23:34.259] | : . | if (is.null(defaults_base)) { [18:23:34.259] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.259] | : . | } [18:23:34.259] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.259] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.259] | : . | defaults <- defaults[keep] [18:23:34.259] | : . | specified <- attr(options, "specified") [18:23:34.259] | : . | if (length(specified) > 0) { [18:23:34.259] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.259] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.259] | : . | names(options)) [18:23:34.259] | : . | } [18:23:34.259] | : . | specified <- sprintf("future.%s", specified) [18:23:34.259] | : . | names <- setdiff(names(defaults), specified) [18:23:34.259] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.259] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.259] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.259] | : . | options <- options[keep] [18:23:34.259] | : . | options [18:23:34.259] | : . | })(options, fcn)) [18:23:34.259] | : . | expr <- as.call(parts) [18:23:34.259] | : . | expr [18:23:34.259] | : . | } [18:23:34.259] | : . | [18:23:34.260] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.260] | : get_transpiler() ... done [18:23:34.260] | : Transpile call expression ... [18:23:34.261] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [18:23:34.261] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:34.261] | : . future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.262] | : Transpile call expression ... done [18:23:34.262] | : Evaluate transpiled call expression [18:23:34.299] | transpile() ... done [18:23:34.299] futurize() ... done [18:23:34.299] futurize() ... [18:23:34.299] | transpile() ... [18:23:34.300] | : get_transpiler() ... [18:23:34.300] | : . Finding call to be transpiled ... [18:23:34.300] | : . | decend_wrappers() ... [18:23:34.300] | : . | : Call: [18:23:34.300] | : . | : base::eapply [18:23:34.301] | : . | : parse_call() ... [18:23:34.301] | : . | : . Function: base::eapply(...) [18:23:34.301] | : . | : parse_call() ... done [18:23:34.301] | : . | decend_wrappers() ... done [18:23:34.301] | : . | parse_call() ... [18:23:34.302] | : . | : Function: base::eapply(...) [18:23:34.302] | : . | parse_call() ... done [18:23:34.302] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.302] | : . | base::eapply [18:23:34.302] | : . Finding call to be transpiled ... done [18:23:34.302] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.303] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.303] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.303] | : . | Transpiler function: [18:23:34.303] | : . | function (expr, options = NULL) [18:23:34.303] | : . | { [18:23:34.303] | : . | call <- make_call("future_eapply") [18:23:34.303] | : . | fcn <- eval(call) [18:23:34.303] | : . | expr[[1]] <- call [18:23:34.303] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.303] | : . | { [18:23:34.303] | : . | if (length(options) == 0L) return(options) [18:23:34.303] | : . | if (is.null(defaults_base)) { [18:23:34.303] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.303] | : . | } [18:23:34.303] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.303] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.303] | : . | defaults <- defaults[keep] [18:23:34.303] | : . | specified <- attr(options, "specified") [18:23:34.303] | : . | if (length(specified) > 0) { [18:23:34.303] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.303] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.303] | : . | names(options)) [18:23:34.303] | : . | } [18:23:34.303] | : . | specified <- sprintf("future.%s", specified) [18:23:34.303] | : . | names <- setdiff(names(defaults), specified) [18:23:34.303] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.303] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.303] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.303] | : . | options <- options[keep] [18:23:34.303] | : . | options [18:23:34.303] | : . | })(options, fcn)) [18:23:34.303] | : . | expr <- as.call(parts) [18:23:34.303] | : . | expr [18:23:34.303] | : . | } [18:23:34.303] | : . | [18:23:34.304] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.304] | : get_transpiler() ... done [18:23:34.304] | : Transpile call expression ... [18:23:34.304] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [18:23:34.304] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:34.304] | : . future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.305] | : Transpile call expression ... done [18:23:34.305] | : Evaluate transpiled call expression [18:23:34.340] | transpile() ... done [18:23:34.341] futurize() ... done character(0) [18:23:34.341] futurize() ... [18:23:34.341] | transpile() ... [18:23:34.341] | : get_transpiler() ... [18:23:34.341] | : . Finding call to be transpiled ... [18:23:34.341] | : . | decend_wrappers() ... [18:23:34.342] | : . | : Call: [18:23:34.342] | : . | : base::eapply [18:23:34.342] | : . | : parse_call() ... [18:23:34.342] | : . | : . Function: base::eapply(...) [18:23:34.342] | : . | : parse_call() ... done [18:23:34.343] | : . | decend_wrappers() ... done [18:23:34.343] | : . | parse_call() ... [18:23:34.343] | : . | : Function: base::eapply(...) [18:23:34.343] | : . | parse_call() ... done [18:23:34.343] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.343] | : . | base::eapply [18:23:34.344] | : . Finding call to be transpiled ... done [18:23:34.344] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.344] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.344] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.344] | : . | Transpiler function: [18:23:34.344] | : . | function (expr, options = NULL) [18:23:34.344] | : . | { [18:23:34.344] | : . | call <- make_call("future_eapply") [18:23:34.344] | : . | fcn <- eval(call) [18:23:34.344] | : . | expr[[1]] <- call [18:23:34.344] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.344] | : . | { [18:23:34.344] | : . | if (length(options) == 0L) return(options) [18:23:34.344] | : . | if (is.null(defaults_base)) { [18:23:34.344] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.344] | : . | } [18:23:34.344] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.344] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.344] | : . | defaults <- defaults[keep] [18:23:34.344] | : . | specified <- attr(options, "specified") [18:23:34.344] | : . | if (length(specified) > 0) { [18:23:34.344] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.344] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.344] | : . | names(options)) [18:23:34.344] | : . | } [18:23:34.344] | : . | specified <- sprintf("future.%s", specified) [18:23:34.344] | : . | names <- setdiff(names(defaults), specified) [18:23:34.344] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.344] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.344] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.344] | : . | options <- options[keep] [18:23:34.344] | : . | options [18:23:34.344] | : . | })(options, fcn)) [18:23:34.344] | : . | expr <- as.call(parts) [18:23:34.344] | : . | expr [18:23:34.344] | : . | } [18:23:34.344] | : . | [18:23:34.345] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.345] | : get_transpiler() ... done [18:23:34.345] | : Transpile call expression ... [18:23:34.346] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [18:23:34.346] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:34.346] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_eapply-%d") [18:23:34.347] | : Transpile call expression ... done [18:23:34.347] | : Evaluate transpiled call expression [18:23:34.417] | transpile() ... done [18:23:34.417] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN), seed = TRUE, flavor = "add-on") [18:23:34.417] futurize() ... [18:23:34.418] | transpile() ... [18:23:34.418] | : get_transpiler() ... [18:23:34.418] | : . Finding call to be transpiled ... [18:23:34.418] | : . | decend_wrappers() ... [18:23:34.418] | : . | : Call: [18:23:34.418] | : . | : base::eapply [18:23:34.419] | : . | : parse_call() ... [18:23:34.419] | : . | : . Function: base::eapply(...) [18:23:34.419] | : . | : parse_call() ... done [18:23:34.419] | : . | decend_wrappers() ... done [18:23:34.419] | : . | parse_call() ... [18:23:34.420] | : . | : Function: base::eapply(...) [18:23:34.420] | : . | parse_call() ... done [18:23:34.420] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.420] | : . | base::eapply [18:23:34.420] | : . Finding call to be transpiled ... done [18:23:34.420] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.421] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.421] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.421] | : . | Transpiler function: [18:23:34.421] | : . | function (expr, options = NULL) [18:23:34.421] | : . | { [18:23:34.421] | : . | call <- make_call("future_eapply") [18:23:34.421] | : . | fcn <- eval(call) [18:23:34.421] | : . | expr[[1]] <- call [18:23:34.421] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.421] | : . | { [18:23:34.421] | : . | if (length(options) == 0L) return(options) [18:23:34.421] | : . | if (is.null(defaults_base)) { [18:23:34.421] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.421] | : . | } [18:23:34.421] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.421] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.421] | : . | defaults <- defaults[keep] [18:23:34.421] | : . | specified <- attr(options, "specified") [18:23:34.421] | : . | if (length(specified) > 0) { [18:23:34.421] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.421] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.421] | : . | names(options)) [18:23:34.421] | : . | } [18:23:34.421] | : . | specified <- sprintf("future.%s", specified) [18:23:34.421] | : . | names <- setdiff(names(defaults), specified) [18:23:34.421] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.421] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.421] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.421] | : . | options <- options[keep] [18:23:34.421] | : . | options [18:23:34.421] | : . | })(options, fcn)) [18:23:34.421] | : . | expr <- as.call(parts) [18:23:34.421] | : . | expr [18:23:34.421] | : . | } [18:23:34.421] | : . | [18:23:34.422] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.422] | : get_transpiler() ... done [18:23:34.422] | : Transpile call expression ... [18:23:34.422] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = TRUE, [18:23:34.422] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:34.422] | : . future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.423] | : Transpile call expression ... done [18:23:34.423] | : Evaluate transpiled call expression [18:23:34.462] | transpile() ... done [18:23:34.462] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, all.names = TRUE) --------------------------------- [18:23:34.463] futurize() ... [18:23:34.463] | transpile() ... [18:23:34.463] | : get_transpiler() ... [18:23:34.463] | : . Finding call to be transpiled ... [18:23:34.463] | : . | decend_wrappers() ... [18:23:34.464] | : . | : Call: [18:23:34.464] | : . | : base::eapply [18:23:34.464] | : . | : parse_call() ... [18:23:34.464] | : . | : . Function: base::eapply(...) [18:23:34.464] | : . | : parse_call() ... done [18:23:34.465] | : . | decend_wrappers() ... done [18:23:34.465] | : . | parse_call() ... [18:23:34.465] | : . | : Function: base::eapply(...) [18:23:34.465] | : . | parse_call() ... done [18:23:34.465] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.465] | : . | base::eapply [18:23:34.466] | : . Finding call to be transpiled ... done [18:23:34.466] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.466] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.466] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.466] | : . | Transpiler function: [18:23:34.466] | : . | function (expr, options = NULL) [18:23:34.466] | : . | { [18:23:34.466] | : . | call <- make_call("future_eapply") [18:23:34.466] | : . | fcn <- eval(call) [18:23:34.466] | : . | expr[[1]] <- call [18:23:34.466] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.466] | : . | { [18:23:34.466] | : . | if (length(options) == 0L) return(options) [18:23:34.466] | : . | if (is.null(defaults_base)) { [18:23:34.466] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.466] | : . | } [18:23:34.466] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.466] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.466] | : . | defaults <- defaults[keep] [18:23:34.466] | : . | specified <- attr(options, "specified") [18:23:34.466] | : . | if (length(specified) > 0) { [18:23:34.466] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.466] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.466] | : . | names(options)) [18:23:34.466] | : . | } [18:23:34.466] | : . | specified <- sprintf("future.%s", specified) [18:23:34.466] | : . | names <- setdiff(names(defaults), specified) [18:23:34.466] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.466] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.466] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.466] | : . | options <- options[keep] [18:23:34.466] | : . | options [18:23:34.466] | : . | })(options, fcn)) [18:23:34.466] | : . | expr <- as.call(parts) [18:23:34.466] | : . | expr [18:23:34.466] | : . | } [18:23:34.466] | : . | [18:23:34.467] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.467] | : get_transpiler() ... done [18:23:34.467] | : Transpile call expression ... [18:23:34.468] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:34.468] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:34.468] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.469] | : Transpile call expression ... done [18:23:34.469] | : Evaluate transpiled call expression [18:23:34.506] | transpile() ... done [18:23:34.506] futurize() ... done [18:23:34.507] futurize() ... [18:23:34.507] | transpile() ... [18:23:34.507] | : get_transpiler() ... [18:23:34.507] | : . Finding call to be transpiled ... [18:23:34.508] | : . | decend_wrappers() ... [18:23:34.508] | : . | : Call: [18:23:34.508] | : . | : base::eapply [18:23:34.508] | : . | : parse_call() ... [18:23:34.508] | : . | : . Function: base::eapply(...) [18:23:34.509] | : . | : parse_call() ... done [18:23:34.509] | : . | decend_wrappers() ... done [18:23:34.509] | : . | parse_call() ... [18:23:34.509] | : . | : Function: base::eapply(...) [18:23:34.509] | : . | parse_call() ... done [18:23:34.509] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.510] | : . | base::eapply [18:23:34.510] | : . Finding call to be transpiled ... done [18:23:34.510] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.510] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.510] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.511] | : . | Transpiler function: [18:23:34.511] | : . | function (expr, options = NULL) [18:23:34.511] | : . | { [18:23:34.511] | : . | call <- make_call("future_eapply") [18:23:34.511] | : . | fcn <- eval(call) [18:23:34.511] | : . | expr[[1]] <- call [18:23:34.511] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.511] | : . | { [18:23:34.511] | : . | if (length(options) == 0L) return(options) [18:23:34.511] | : . | if (is.null(defaults_base)) { [18:23:34.511] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.511] | : . | } [18:23:34.511] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.511] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.511] | : . | defaults <- defaults[keep] [18:23:34.511] | : . | specified <- attr(options, "specified") [18:23:34.511] | : . | if (length(specified) > 0) { [18:23:34.511] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.511] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.511] | : . | names(options)) [18:23:34.511] | : . | } [18:23:34.511] | : . | specified <- sprintf("future.%s", specified) [18:23:34.511] | : . | names <- setdiff(names(defaults), specified) [18:23:34.511] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.511] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.511] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.511] | : . | options <- options[keep] [18:23:34.511] | : . | options [18:23:34.511] | : . | })(options, fcn)) [18:23:34.511] | : . | expr <- as.call(parts) [18:23:34.511] | : . | expr [18:23:34.511] | : . | } [18:23:34.511] | : . | [18:23:34.511] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.512] | : get_transpiler() ... done [18:23:34.512] | : Transpile call expression ... [18:23:34.512] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:34.512] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:34.512] | : . future.conditions = character(0), future.scheduling = 1, [18:23:34.512] | : . future.label = "future_eapply-%d") [18:23:34.513] | : Transpile call expression ... done [18:23:34.513] | : Evaluate transpiled call expression [18:23:34.546] | transpile() ... done [18:23:34.547] futurize() ... done character(0) [18:23:34.547] futurize() ... [18:23:34.547] | transpile() ... [18:23:34.547] | : get_transpiler() ... [18:23:34.547] | : . Finding call to be transpiled ... [18:23:34.547] | : . | decend_wrappers() ... [18:23:34.548] | : . | : Call: [18:23:34.548] | : . | : base::eapply [18:23:34.548] | : . | : parse_call() ... [18:23:34.548] | : . | : . Function: base::eapply(...) [18:23:34.548] | : . | : parse_call() ... done [18:23:34.549] | : . | decend_wrappers() ... done [18:23:34.549] | : . | parse_call() ... [18:23:34.549] | : . | : Function: base::eapply(...) [18:23:34.549] | : . | parse_call() ... done [18:23:34.549] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.549] | : . | base::eapply [18:23:34.550] | : . Finding call to be transpiled ... done [18:23:34.550] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.550] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.550] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.550] | : . | Transpiler function: [18:23:34.550] | : . | function (expr, options = NULL) [18:23:34.550] | : . | { [18:23:34.550] | : . | call <- make_call("future_eapply") [18:23:34.550] | : . | fcn <- eval(call) [18:23:34.550] | : . | expr[[1]] <- call [18:23:34.550] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.550] | : . | { [18:23:34.550] | : . | if (length(options) == 0L) return(options) [18:23:34.550] | : . | if (is.null(defaults_base)) { [18:23:34.550] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.550] | : . | } [18:23:34.550] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.550] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.550] | : . | defaults <- defaults[keep] [18:23:34.550] | : . | specified <- attr(options, "specified") [18:23:34.550] | : . | if (length(specified) > 0) { [18:23:34.550] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.550] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.550] | : . | names(options)) [18:23:34.550] | : . | } [18:23:34.550] | : . | specified <- sprintf("future.%s", specified) [18:23:34.550] | : . | names <- setdiff(names(defaults), specified) [18:23:34.550] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.550] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.550] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.550] | : . | options <- options[keep] [18:23:34.550] | : . | options [18:23:34.550] | : . | })(options, fcn)) [18:23:34.550] | : . | expr <- as.call(parts) [18:23:34.550] | : . | expr [18:23:34.550] | : . | } [18:23:34.550] | : . | [18:23:34.551] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.551] | : get_transpiler() ... done [18:23:34.551] | : Transpile call expression ... [18:23:34.552] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:34.552] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:34.552] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:34.552] | : . future.label = "future_eapply-%d") [18:23:34.553] | : Transpile call expression ... done [18:23:34.553] | : Evaluate transpiled call expression [18:23:34.636] | transpile() ... done [18:23:34.636] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, all.names = TRUE), seed = TRUE, flavor = "add-on") [18:23:34.636] futurize() ... [18:23:34.636] | transpile() ... [18:23:34.637] | : get_transpiler() ... [18:23:34.637] | : . Finding call to be transpiled ... [18:23:34.637] | : . | decend_wrappers() ... [18:23:34.637] | : . | : Call: [18:23:34.637] | : . | : base::eapply [18:23:34.637] | : . | : parse_call() ... [18:23:34.638] | : . | : . Function: base::eapply(...) [18:23:34.638] | : . | : parse_call() ... done [18:23:34.638] | : . | decend_wrappers() ... done [18:23:34.638] | : . | parse_call() ... [18:23:34.638] | : . | : Function: base::eapply(...) [18:23:34.638] | : . | parse_call() ... done [18:23:34.639] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.639] | : . | base::eapply [18:23:34.639] | : . Finding call to be transpiled ... done [18:23:34.639] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.639] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.640] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.640] | : . | Transpiler function: [18:23:34.640] | : . | function (expr, options = NULL) [18:23:34.640] | : . | { [18:23:34.640] | : . | call <- make_call("future_eapply") [18:23:34.640] | : . | fcn <- eval(call) [18:23:34.640] | : . | expr[[1]] <- call [18:23:34.640] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.640] | : . | { [18:23:34.640] | : . | if (length(options) == 0L) return(options) [18:23:34.640] | : . | if (is.null(defaults_base)) { [18:23:34.640] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.640] | : . | } [18:23:34.640] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.640] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.640] | : . | defaults <- defaults[keep] [18:23:34.640] | : . | specified <- attr(options, "specified") [18:23:34.640] | : . | if (length(specified) > 0) { [18:23:34.640] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.640] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.640] | : . | names(options)) [18:23:34.640] | : . | } [18:23:34.640] | : . | specified <- sprintf("future.%s", specified) [18:23:34.640] | : . | names <- setdiff(names(defaults), specified) [18:23:34.640] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.640] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.640] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.640] | : . | options <- options[keep] [18:23:34.640] | : . | options [18:23:34.640] | : . | })(options, fcn)) [18:23:34.640] | : . | expr <- as.call(parts) [18:23:34.640] | : . | expr [18:23:34.640] | : . | } [18:23:34.640] | : . | [18:23:34.640] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.641] | : get_transpiler() ... done [18:23:34.641] | : Transpile call expression ... [18:23:34.641] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:34.641] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:34.641] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.642] | : Transpile call expression ... done [18:23:34.642] | : Evaluate transpiled call expression [18:23:34.682] | transpile() ... done [18:23:34.683] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [18:23:34.683] futurize() ... [18:23:34.684] | transpile() ... [18:23:34.684] | : get_transpiler() ... [18:23:34.684] | : . Finding call to be transpiled ... [18:23:34.684] | : . | decend_wrappers() ... [18:23:34.684] | : . | : Call: [18:23:34.684] | : . | : base::eapply [18:23:34.685] | : . | : parse_call() ... [18:23:34.685] | : . | : . Function: base::eapply(...) [18:23:34.685] | : . | : parse_call() ... done [18:23:34.685] | : . | decend_wrappers() ... done [18:23:34.685] | : . | parse_call() ... [18:23:34.685] | : . | : Function: base::eapply(...) [18:23:34.686] | : . | parse_call() ... done [18:23:34.686] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.686] | : . | base::eapply [18:23:34.686] | : . Finding call to be transpiled ... done [18:23:34.686] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.687] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.687] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.687] | : . | Transpiler function: [18:23:34.687] | : . | function (expr, options = NULL) [18:23:34.687] | : . | { [18:23:34.687] | : . | call <- make_call("future_eapply") [18:23:34.687] | : . | fcn <- eval(call) [18:23:34.687] | : . | expr[[1]] <- call [18:23:34.687] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.687] | : . | { [18:23:34.687] | : . | if (length(options) == 0L) return(options) [18:23:34.687] | : . | if (is.null(defaults_base)) { [18:23:34.687] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.687] | : . | } [18:23:34.687] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.687] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.687] | : . | defaults <- defaults[keep] [18:23:34.687] | : . | specified <- attr(options, "specified") [18:23:34.687] | : . | if (length(specified) > 0) { [18:23:34.687] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.687] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.687] | : . | names(options)) [18:23:34.687] | : . | } [18:23:34.687] | : . | specified <- sprintf("future.%s", specified) [18:23:34.687] | : . | names <- setdiff(names(defaults), specified) [18:23:34.687] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.687] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.687] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.687] | : . | options <- options[keep] [18:23:34.687] | : . | options [18:23:34.687] | : . | })(options, fcn)) [18:23:34.687] | : . | expr <- as.call(parts) [18:23:34.687] | : . | expr [18:23:34.687] | : . | } [18:23:34.687] | : . | [18:23:34.688] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.688] | : get_transpiler() ... done [18:23:34.688] | : Transpile call expression ... [18:23:34.688] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:34.688] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:34.688] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.689] | : Transpile call expression ... done [18:23:34.689] | : Evaluate transpiled call expression [18:23:34.724] | transpile() ... done [18:23:34.724] futurize() ... done [18:23:34.725] futurize() ... [18:23:34.725] | transpile() ... [18:23:34.725] | : get_transpiler() ... [18:23:34.725] | : . Finding call to be transpiled ... [18:23:34.725] | : . | decend_wrappers() ... [18:23:34.726] | : . | : Call: [18:23:34.726] | : . | : base::eapply [18:23:34.726] | : . | : parse_call() ... [18:23:34.726] | : . | : . Function: base::eapply(...) [18:23:34.726] | : . | : parse_call() ... done [18:23:34.727] | : . | decend_wrappers() ... done [18:23:34.727] | : . | parse_call() ... [18:23:34.727] | : . | : Function: base::eapply(...) [18:23:34.727] | : . | parse_call() ... done [18:23:34.727] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.727] | : . | base::eapply [18:23:34.729] | : . Finding call to be transpiled ... done [18:23:34.729] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.730] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.730] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.730] | : . | Transpiler function: [18:23:34.730] | : . | function (expr, options = NULL) [18:23:34.730] | : . | { [18:23:34.730] | : . | call <- make_call("future_eapply") [18:23:34.730] | : . | fcn <- eval(call) [18:23:34.730] | : . | expr[[1]] <- call [18:23:34.730] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.730] | : . | { [18:23:34.730] | : . | if (length(options) == 0L) return(options) [18:23:34.730] | : . | if (is.null(defaults_base)) { [18:23:34.730] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.730] | : . | } [18:23:34.730] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.730] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.730] | : . | defaults <- defaults[keep] [18:23:34.730] | : . | specified <- attr(options, "specified") [18:23:34.730] | : . | if (length(specified) > 0) { [18:23:34.730] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.730] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.730] | : . | names(options)) [18:23:34.730] | : . | } [18:23:34.730] | : . | specified <- sprintf("future.%s", specified) [18:23:34.730] | : . | names <- setdiff(names(defaults), specified) [18:23:34.730] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.730] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.730] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.730] | : . | options <- options[keep] [18:23:34.730] | : . | options [18:23:34.730] | : . | })(options, fcn)) [18:23:34.730] | : . | expr <- as.call(parts) [18:23:34.730] | : . | expr [18:23:34.730] | : . | } [18:23:34.730] | : . | [18:23:34.731] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.731] | : get_transpiler() ... done [18:23:34.731] | : Transpile call expression ... [18:23:34.732] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:34.732] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:34.732] | : . future.conditions = character(0), future.scheduling = 1, [18:23:34.732] | : . future.label = "future_eapply-%d") [18:23:34.732] | : Transpile call expression ... done [18:23:34.733] | : Evaluate transpiled call expression [18:23:34.766] | transpile() ... done [18:23:34.766] futurize() ... done character(0) [18:23:34.767] futurize() ... [18:23:34.767] | transpile() ... [18:23:34.767] | : get_transpiler() ... [18:23:34.767] | : . Finding call to be transpiled ... [18:23:34.767] | : . | decend_wrappers() ... [18:23:34.767] | : . | : Call: [18:23:34.768] | : . | : base::eapply [18:23:34.768] | : . | : parse_call() ... [18:23:34.768] | : . | : . Function: base::eapply(...) [18:23:34.768] | : . | : parse_call() ... done [18:23:34.768] | : . | decend_wrappers() ... done [18:23:34.769] | : . | parse_call() ... [18:23:34.769] | : . | : Function: base::eapply(...) [18:23:34.769] | : . | parse_call() ... done [18:23:34.769] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.769] | : . | base::eapply [18:23:34.770] | : . Finding call to be transpiled ... done [18:23:34.770] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.770] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.770] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.770] | : . | Transpiler function: [18:23:34.770] | : . | function (expr, options = NULL) [18:23:34.770] | : . | { [18:23:34.770] | : . | call <- make_call("future_eapply") [18:23:34.770] | : . | fcn <- eval(call) [18:23:34.770] | : . | expr[[1]] <- call [18:23:34.770] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.770] | : . | { [18:23:34.770] | : . | if (length(options) == 0L) return(options) [18:23:34.770] | : . | if (is.null(defaults_base)) { [18:23:34.770] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.770] | : . | } [18:23:34.770] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.770] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.770] | : . | defaults <- defaults[keep] [18:23:34.770] | : . | specified <- attr(options, "specified") [18:23:34.770] | : . | if (length(specified) > 0) { [18:23:34.770] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.770] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.770] | : . | names(options)) [18:23:34.770] | : . | } [18:23:34.770] | : . | specified <- sprintf("future.%s", specified) [18:23:34.770] | : . | names <- setdiff(names(defaults), specified) [18:23:34.770] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.770] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.770] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.770] | : . | options <- options[keep] [18:23:34.770] | : . | options [18:23:34.770] | : . | })(options, fcn)) [18:23:34.770] | : . | expr <- as.call(parts) [18:23:34.770] | : . | expr [18:23:34.770] | : . | } [18:23:34.770] | : . | [18:23:34.771] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.771] | : get_transpiler() ... done [18:23:34.771] | : Transpile call expression ... [18:23:34.772] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:34.772] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:34.772] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:34.772] | : . future.label = "future_eapply-%d") [18:23:34.773] | : Transpile call expression ... done [18:23:34.773] | : Evaluate transpiled call expression [18:23:34.839] | transpile() ... done [18:23:34.839] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [18:23:34.839] futurize() ... [18:23:34.840] | transpile() ... [18:23:34.840] | : get_transpiler() ... [18:23:34.840] | : . Finding call to be transpiled ... [18:23:34.840] | : . | decend_wrappers() ... [18:23:34.840] | : . | : Call: [18:23:34.840] | : . | : base::eapply [18:23:34.841] | : . | : parse_call() ... [18:23:34.841] | : . | : . Function: base::eapply(...) [18:23:34.841] | : . | : parse_call() ... done [18:23:34.841] | : . | decend_wrappers() ... done [18:23:34.841] | : . | parse_call() ... [18:23:34.841] | : . | : Function: base::eapply(...) [18:23:34.842] | : . | parse_call() ... done [18:23:34.842] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.842] | : . | base::eapply [18:23:34.842] | : . Finding call to be transpiled ... done [18:23:34.842] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:34.843] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.843] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:34.843] | : . | Transpiler function: [18:23:34.843] | : . | function (expr, options = NULL) [18:23:34.843] | : . | { [18:23:34.843] | : . | call <- make_call("future_eapply") [18:23:34.843] | : . | fcn <- eval(call) [18:23:34.843] | : . | expr[[1]] <- call [18:23:34.843] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.843] | : . | { [18:23:34.843] | : . | if (length(options) == 0L) return(options) [18:23:34.843] | : . | if (is.null(defaults_base)) { [18:23:34.843] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.843] | : . | } [18:23:34.843] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.843] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.843] | : . | defaults <- defaults[keep] [18:23:34.843] | : . | specified <- attr(options, "specified") [18:23:34.843] | : . | if (length(specified) > 0) { [18:23:34.843] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.843] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.843] | : . | names(options)) [18:23:34.843] | : . | } [18:23:34.843] | : . | specified <- sprintf("future.%s", specified) [18:23:34.843] | : . | names <- setdiff(names(defaults), specified) [18:23:34.843] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.843] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.843] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.843] | : . | options <- options[keep] [18:23:34.843] | : . | options [18:23:34.843] | : . | })(options, fcn)) [18:23:34.843] | : . | expr <- as.call(parts) [18:23:34.843] | : . | expr [18:23:34.843] | : . | } [18:23:34.843] | : . | [18:23:34.844] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:34.844] | : get_transpiler() ... done [18:23:34.844] | : Transpile call expression ... [18:23:34.844] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:34.844] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:34.844] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:34.845] | : Transpile call expression ... done [18:23:34.845] | : Evaluate transpiled call expression [18:23:34.882] | transpile() ... done [18:23:34.882] futurize() ... done === replicate ========================== replicate(2, 42) --------------------------------- [18:23:34.884] futurize() ... [18:23:34.884] | transpile() ... [18:23:34.884] | : get_transpiler() ... [18:23:34.884] | : . Finding call to be transpiled ... [18:23:34.886] | : . | decend_wrappers() ... [18:23:34.886] | : . | : Call: [18:23:34.886] | : . | : replicate [18:23:34.887] | : . | : parse_call() ... [18:23:34.887] | : . | : . Function: replicate(...) [18:23:34.887] | : . | : . Locate function ... [18:23:34.887] | : . | : . | Function located in: 'base' [18:23:34.887] | : . | : . Locate function ... done [18:23:34.887] | : . | : parse_call() ... done [18:23:34.888] | : . | decend_wrappers() ... done [18:23:34.888] | : . | parse_call() ... [18:23:34.888] | : . | : Function: replicate(...) [18:23:34.888] | : . | : Locate function ... [18:23:34.888] | : . | : . Function located in: 'base' [18:23:34.888] | : . | : Locate function ... done [18:23:34.889] | : . | parse_call() ... done [18:23:34.889] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.889] | : . | replicate [18:23:34.889] | : . Finding call to be transpiled ... done [18:23:34.889] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:34.890] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.890] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:34.890] | : . | Transpiler function: [18:23:34.890] | : . | function (expr, options = NULL) [18:23:34.890] | : . | { [18:23:34.890] | : . | call <- make_call("future_replicate") [18:23:34.890] | : . | fcn <- eval(call) [18:23:34.890] | : . | expr[[1]] <- call [18:23:34.890] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.890] | : . | { [18:23:34.890] | : . | if (length(options) == 0L) return(options) [18:23:34.890] | : . | if (is.null(defaults_base)) { [18:23:34.890] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.890] | : . | } [18:23:34.890] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.890] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.890] | : . | defaults <- defaults[keep] [18:23:34.890] | : . | specified <- attr(options, "specified") [18:23:34.890] | : . | if (length(specified) > 0) { [18:23:34.890] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.890] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.890] | : . | names(options)) [18:23:34.890] | : . | } [18:23:34.890] | : . | specified <- sprintf("future.%s", specified) [18:23:34.890] | : . | names <- setdiff(names(defaults), specified) [18:23:34.890] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.890] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.890] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.890] | : . | options <- options[keep] [18:23:34.890] | : . | options [18:23:34.890] | : . | })(options, fcn)) [18:23:34.890] | : . | expr <- as.call(parts) [18:23:34.890] | : . | expr [18:23:34.890] | : . | } [18:23:34.890] | : . | [18:23:34.891] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:34.891] | : get_transpiler() ... done [18:23:34.891] | : Transpile call expression ... [18:23:34.892] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:34.892] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:34.892] | : . future.label = "future_replicate-%d") [18:23:34.892] | : Transpile call expression ... done [18:23:34.893] | : Evaluate transpiled call expression [18:23:34.907] | transpile() ... done [18:23:34.907] futurize() ... done [18:23:34.908] futurize() ... [18:23:34.908] | transpile() ... [18:23:34.908] | : get_transpiler() ... [18:23:34.908] | : . Finding call to be transpiled ... [18:23:34.908] | : . | decend_wrappers() ... [18:23:34.908] | : . | : Call: [18:23:34.908] | : . | : replicate [18:23:34.909] | : . | : parse_call() ... [18:23:34.909] | : . | : . Function: replicate(...) [18:23:34.909] | : . | : . Locate function ... [18:23:34.909] | : . | : . | Function located in: 'base' [18:23:34.909] | : . | : . Locate function ... done [18:23:34.910] | : . | : parse_call() ... done [18:23:34.910] | : . | decend_wrappers() ... done [18:23:34.910] | : . | parse_call() ... [18:23:34.910] | : . | : Function: replicate(...) [18:23:34.910] | : . | : Locate function ... [18:23:34.910] | : . | : . Function located in: 'base' [18:23:34.911] | : . | : Locate function ... done [18:23:34.911] | : . | parse_call() ... done [18:23:34.911] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.911] | : . | replicate [18:23:34.911] | : . Finding call to be transpiled ... done [18:23:34.911] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:34.912] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.912] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:34.912] | : . | Transpiler function: [18:23:34.912] | : . | function (expr, options = NULL) [18:23:34.912] | : . | { [18:23:34.912] | : . | call <- make_call("future_replicate") [18:23:34.912] | : . | fcn <- eval(call) [18:23:34.912] | : . | expr[[1]] <- call [18:23:34.912] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.912] | : . | { [18:23:34.912] | : . | if (length(options) == 0L) return(options) [18:23:34.912] | : . | if (is.null(defaults_base)) { [18:23:34.912] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.912] | : . | } [18:23:34.912] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.912] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.912] | : . | defaults <- defaults[keep] [18:23:34.912] | : . | specified <- attr(options, "specified") [18:23:34.912] | : . | if (length(specified) > 0) { [18:23:34.912] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.912] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.912] | : . | names(options)) [18:23:34.912] | : . | } [18:23:34.912] | : . | specified <- sprintf("future.%s", specified) [18:23:34.912] | : . | names <- setdiff(names(defaults), specified) [18:23:34.912] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.912] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.912] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.912] | : . | options <- options[keep] [18:23:34.912] | : . | options [18:23:34.912] | : . | })(options, fcn)) [18:23:34.912] | : . | expr <- as.call(parts) [18:23:34.912] | : . | expr [18:23:34.912] | : . | } [18:23:34.912] | : . | [18:23:34.913] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:34.913] | : get_transpiler() ... done [18:23:34.913] | : Transpile call expression ... [18:23:34.914] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:34.914] | : . future.stdout = FALSE, future.conditions = character(0), [18:23:34.914] | : . future.scheduling = 1, future.label = "future_replicate-%d") [18:23:34.914] | : Transpile call expression ... done [18:23:34.915] | : Evaluate transpiled call expression [18:23:34.930] | transpile() ... done [18:23:34.931] futurize() ... done character(0) [18:23:34.931] futurize() ... [18:23:34.931] | transpile() ... [18:23:34.931] | : get_transpiler() ... [18:23:34.931] | : . Finding call to be transpiled ... [18:23:34.932] | : . | decend_wrappers() ... [18:23:34.932] | : . | : Call: [18:23:34.932] | : . | : replicate [18:23:34.932] | : . | : parse_call() ... [18:23:34.932] | : . | : . Function: replicate(...) [18:23:34.932] | : . | : . Locate function ... [18:23:34.933] | : . | : . | Function located in: 'base' [18:23:34.933] | : . | : . Locate function ... done [18:23:34.933] | : . | : parse_call() ... done [18:23:34.933] | : . | decend_wrappers() ... done [18:23:34.933] | : . | parse_call() ... [18:23:34.933] | : . | : Function: replicate(...) [18:23:34.934] | : . | : Locate function ... [18:23:34.934] | : . | : . Function located in: 'base' [18:23:34.934] | : . | : Locate function ... done [18:23:34.934] | : . | parse_call() ... done [18:23:34.934] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.934] | : . | replicate [18:23:34.935] | : . Finding call to be transpiled ... done [18:23:34.935] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:34.935] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.935] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:34.935] | : . | Transpiler function: [18:23:34.936] | : . | function (expr, options = NULL) [18:23:34.936] | : . | { [18:23:34.936] | : . | call <- make_call("future_replicate") [18:23:34.936] | : . | fcn <- eval(call) [18:23:34.936] | : . | expr[[1]] <- call [18:23:34.936] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.936] | : . | { [18:23:34.936] | : . | if (length(options) == 0L) return(options) [18:23:34.936] | : . | if (is.null(defaults_base)) { [18:23:34.936] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.936] | : . | } [18:23:34.936] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.936] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.936] | : . | defaults <- defaults[keep] [18:23:34.936] | : . | specified <- attr(options, "specified") [18:23:34.936] | : . | if (length(specified) > 0) { [18:23:34.936] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.936] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.936] | : . | names(options)) [18:23:34.936] | : . | } [18:23:34.936] | : . | specified <- sprintf("future.%s", specified) [18:23:34.936] | : . | names <- setdiff(names(defaults), specified) [18:23:34.936] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.936] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.936] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.936] | : . | options <- options[keep] [18:23:34.936] | : . | options [18:23:34.936] | : . | })(options, fcn)) [18:23:34.936] | : . | expr <- as.call(parts) [18:23:34.936] | : . | expr [18:23:34.936] | : . | } [18:23:34.936] | : . | [18:23:34.936] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:34.936] | : get_transpiler() ... done [18:23:34.937] | : Transpile call expression ... [18:23:34.937] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:34.937] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:34.937] | : . future.chunk.size = 1L, future.label = "future_replicate-%d") [18:23:34.938] | : Transpile call expression ... done [18:23:34.938] | : Evaluate transpiled call expression [18:23:34.953] | transpile() ... done [18:23:34.953] futurize() ... done Test with RNG: futurize(replicate(2, 42), seed = TRUE, flavor = "add-on") [18:23:34.953] futurize() ... [18:23:34.953] | transpile() ... [18:23:34.953] | : get_transpiler() ... [18:23:34.954] | : . Finding call to be transpiled ... [18:23:34.954] | : . | decend_wrappers() ... [18:23:34.954] | : . | : Call: [18:23:34.954] | : . | : replicate [18:23:34.954] | : . | : parse_call() ... [18:23:34.955] | : . | : . Function: replicate(...) [18:23:34.955] | : . | : . Locate function ... [18:23:34.955] | : . | : . | Function located in: 'base' [18:23:34.955] | : . | : . Locate function ... done [18:23:34.955] | : . | : parse_call() ... done [18:23:34.955] | : . | decend_wrappers() ... done [18:23:34.955] | : . | parse_call() ... [18:23:34.956] | : . | : Function: replicate(...) [18:23:34.956] | : . | : Locate function ... [18:23:34.956] | : . | : . Function located in: 'base' [18:23:34.956] | : . | : Locate function ... done [18:23:34.956] | : . | parse_call() ... done [18:23:34.956] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.957] | : . | replicate [18:23:34.957] | : . Finding call to be transpiled ... done [18:23:34.957] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:34.957] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.957] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:34.958] | : . | Transpiler function: [18:23:34.958] | : . | function (expr, options = NULL) [18:23:34.958] | : . | { [18:23:34.958] | : . | call <- make_call("future_replicate") [18:23:34.958] | : . | fcn <- eval(call) [18:23:34.958] | : . | expr[[1]] <- call [18:23:34.958] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.958] | : . | { [18:23:34.958] | : . | if (length(options) == 0L) return(options) [18:23:34.958] | : . | if (is.null(defaults_base)) { [18:23:34.958] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.958] | : . | } [18:23:34.958] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.958] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.958] | : . | defaults <- defaults[keep] [18:23:34.958] | : . | specified <- attr(options, "specified") [18:23:34.958] | : . | if (length(specified) > 0) { [18:23:34.958] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.958] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.958] | : . | names(options)) [18:23:34.958] | : . | } [18:23:34.958] | : . | specified <- sprintf("future.%s", specified) [18:23:34.958] | : . | names <- setdiff(names(defaults), specified) [18:23:34.958] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.958] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.958] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.958] | : . | options <- options[keep] [18:23:34.958] | : . | options [18:23:34.958] | : . | })(options, fcn)) [18:23:34.958] | : . | expr <- as.call(parts) [18:23:34.958] | : . | expr [18:23:34.958] | : . | } [18:23:34.958] | : . | [18:23:34.958] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:34.959] | : get_transpiler() ... done [18:23:34.959] | : Transpile call expression ... [18:23:34.959] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:34.959] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:34.959] | : . future.label = "future_replicate-%d") [18:23:34.960] | : Transpile call expression ... done [18:23:34.960] | : Evaluate transpiled call expression [18:23:34.975] | transpile() ... done [18:23:34.975] futurize() ... done === replicate ========================== base::replicate(2, 42) --------------------------------- [18:23:34.976] futurize() ... [18:23:34.976] | transpile() ... [18:23:34.976] | : get_transpiler() ... [18:23:34.976] | : . Finding call to be transpiled ... [18:23:34.977] | : . | decend_wrappers() ... [18:23:34.977] | : . | : Call: [18:23:34.977] | : . | : base::replicate [18:23:34.977] | : . | : parse_call() ... [18:23:34.977] | : . | : . Function: base::replicate(...) [18:23:34.978] | : . | : parse_call() ... done [18:23:34.978] | : . | decend_wrappers() ... done [18:23:34.978] | : . | parse_call() ... [18:23:34.978] | : . | : Function: base::replicate(...) [18:23:34.978] | : . | parse_call() ... done [18:23:34.978] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.979] | : . | base::replicate [18:23:34.979] | : . Finding call to be transpiled ... done [18:23:34.979] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:34.979] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:34.979] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:34.980] | : . | Transpiler function: [18:23:34.980] | : . | function (expr, options = NULL) [18:23:34.980] | : . | { [18:23:34.980] | : . | call <- make_call("future_replicate") [18:23:34.980] | : . | fcn <- eval(call) [18:23:34.980] | : . | expr[[1]] <- call [18:23:34.980] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:34.980] | : . | { [18:23:34.980] | : . | if (length(options) == 0L) return(options) [18:23:34.980] | : . | if (is.null(defaults_base)) { [18:23:34.980] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:34.980] | : . | } [18:23:34.980] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:34.980] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:34.980] | : . | defaults <- defaults[keep] [18:23:34.980] | : . | specified <- attr(options, "specified") [18:23:34.980] | : . | if (length(specified) > 0) { [18:23:34.980] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:34.980] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:34.980] | : . | names(options)) [18:23:34.980] | : . | } [18:23:34.980] | : . | specified <- sprintf("future.%s", specified) [18:23:34.980] | : . | names <- setdiff(names(defaults), specified) [18:23:34.980] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:34.980] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:34.980] | : . | keep <- intersect(names(options), names(defaults)) [18:23:34.980] | : . | options <- options[keep] [18:23:34.980] | : . | options [18:23:34.980] | : . | })(options, fcn)) [18:23:34.980] | : . | expr <- as.call(parts) [18:23:34.980] | : . | expr [18:23:34.980] | : . | } [18:23:34.980] | : . | [18:23:34.980] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:34.981] | : get_transpiler() ... done [18:23:34.981] | : Transpile call expression ... [18:23:34.981] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:34.981] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:34.981] | : . future.label = "future_replicate-%d") [18:23:34.982] | : Transpile call expression ... done [18:23:34.982] | : Evaluate transpiled call expression [18:23:34.996] | transpile() ... done [18:23:34.997] futurize() ... done [18:23:34.997] futurize() ... [18:23:34.997] | transpile() ... [18:23:34.997] | : get_transpiler() ... [18:23:34.997] | : . Finding call to be transpiled ... [18:23:34.998] | : . | decend_wrappers() ... [18:23:34.998] | : . | : Call: [18:23:34.998] | : . | : base::replicate [18:23:34.998] | : . | : parse_call() ... [18:23:34.998] | : . | : . Function: base::replicate(...) [18:23:34.999] | : . | : parse_call() ... done [18:23:34.999] | : . | decend_wrappers() ... done [18:23:34.999] | : . | parse_call() ... [18:23:34.999] | : . | : Function: base::replicate(...) [18:23:34.999] | : . | parse_call() ... done [18:23:34.999] | : . | Position of call to be transpiled in expression: c(1) [18:23:34.999] | : . | base::replicate [18:23:35.000] | : . Finding call to be transpiled ... done [18:23:35.000] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:35.000] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.000] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:35.000] | : . | Transpiler function: [18:23:35.001] | : . | function (expr, options = NULL) [18:23:35.001] | : . | { [18:23:35.001] | : . | call <- make_call("future_replicate") [18:23:35.001] | : . | fcn <- eval(call) [18:23:35.001] | : . | expr[[1]] <- call [18:23:35.001] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.001] | : . | { [18:23:35.001] | : . | if (length(options) == 0L) return(options) [18:23:35.001] | : . | if (is.null(defaults_base)) { [18:23:35.001] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.001] | : . | } [18:23:35.001] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.001] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.001] | : . | defaults <- defaults[keep] [18:23:35.001] | : . | specified <- attr(options, "specified") [18:23:35.001] | : . | if (length(specified) > 0) { [18:23:35.001] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.001] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.001] | : . | names(options)) [18:23:35.001] | : . | } [18:23:35.001] | : . | specified <- sprintf("future.%s", specified) [18:23:35.001] | : . | names <- setdiff(names(defaults), specified) [18:23:35.001] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.001] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.001] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.001] | : . | options <- options[keep] [18:23:35.001] | : . | options [18:23:35.001] | : . | })(options, fcn)) [18:23:35.001] | : . | expr <- as.call(parts) [18:23:35.001] | : . | expr [18:23:35.001] | : . | } [18:23:35.001] | : . | [18:23:35.001] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:35.001] | : get_transpiler() ... done [18:23:35.002] | : Transpile call expression ... [18:23:35.002] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:35.002] | : . future.stdout = FALSE, future.conditions = character(0), [18:23:35.002] | : . future.scheduling = 1, future.label = "future_replicate-%d") [18:23:35.003] | : Transpile call expression ... done [18:23:35.003] | : Evaluate transpiled call expression [18:23:35.017] | transpile() ... done [18:23:35.018] futurize() ... done character(0) [18:23:35.018] futurize() ... [18:23:35.018] | transpile() ... [18:23:35.018] | : get_transpiler() ... [18:23:35.018] | : . Finding call to be transpiled ... [18:23:35.019] | : . | decend_wrappers() ... [18:23:35.019] | : . | : Call: [18:23:35.019] | : . | : base::replicate [18:23:35.019] | : . | : parse_call() ... [18:23:35.019] | : . | : . Function: base::replicate(...) [18:23:35.020] | : . | : parse_call() ... done [18:23:35.020] | : . | decend_wrappers() ... done [18:23:35.020] | : . | parse_call() ... [18:23:35.020] | : . | : Function: base::replicate(...) [18:23:35.020] | : . | parse_call() ... done [18:23:35.020] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.021] | : . | base::replicate [18:23:35.021] | : . Finding call to be transpiled ... done [18:23:35.021] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:35.021] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.021] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:35.022] | : . | Transpiler function: [18:23:35.022] | : . | function (expr, options = NULL) [18:23:35.022] | : . | { [18:23:35.022] | : . | call <- make_call("future_replicate") [18:23:35.022] | : . | fcn <- eval(call) [18:23:35.022] | : . | expr[[1]] <- call [18:23:35.022] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.022] | : . | { [18:23:35.022] | : . | if (length(options) == 0L) return(options) [18:23:35.022] | : . | if (is.null(defaults_base)) { [18:23:35.022] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.022] | : . | } [18:23:35.022] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.022] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.022] | : . | defaults <- defaults[keep] [18:23:35.022] | : . | specified <- attr(options, "specified") [18:23:35.022] | : . | if (length(specified) > 0) { [18:23:35.022] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.022] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.022] | : . | names(options)) [18:23:35.022] | : . | } [18:23:35.022] | : . | specified <- sprintf("future.%s", specified) [18:23:35.022] | : . | names <- setdiff(names(defaults), specified) [18:23:35.022] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.022] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.022] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.022] | : . | options <- options[keep] [18:23:35.022] | : . | options [18:23:35.022] | : . | })(options, fcn)) [18:23:35.022] | : . | expr <- as.call(parts) [18:23:35.022] | : . | expr [18:23:35.022] | : . | } [18:23:35.022] | : . | [18:23:35.022] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:35.023] | : get_transpiler() ... done [18:23:35.023] | : Transpile call expression ... [18:23:35.023] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:35.023] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:35.023] | : . future.chunk.size = 1L, future.label = "future_replicate-%d") [18:23:35.024] | : Transpile call expression ... done [18:23:35.024] | : Evaluate transpiled call expression [18:23:35.040] | transpile() ... done [18:23:35.040] futurize() ... done Test with RNG: futurize(base::replicate(2, 42), seed = TRUE, flavor = "add-on") [18:23:35.041] futurize() ... [18:23:35.041] | transpile() ... [18:23:35.041] | : get_transpiler() ... [18:23:35.041] | : . Finding call to be transpiled ... [18:23:35.041] | : . | decend_wrappers() ... [18:23:35.041] | : . | : Call: [18:23:35.042] | : . | : base::replicate [18:23:35.042] | : . | : parse_call() ... [18:23:35.042] | : . | : . Function: base::replicate(...) [18:23:35.042] | : . | : parse_call() ... done [18:23:35.042] | : . | decend_wrappers() ... done [18:23:35.042] | : . | parse_call() ... [18:23:35.043] | : . | : Function: base::replicate(...) [18:23:35.043] | : . | parse_call() ... done [18:23:35.043] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.043] | : . | base::replicate [18:23:35.043] | : . Finding call to be transpiled ... done [18:23:35.044] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:35.044] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.044] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:35.044] | : . | Transpiler function: [18:23:35.044] | : . | function (expr, options = NULL) [18:23:35.044] | : . | { [18:23:35.044] | : . | call <- make_call("future_replicate") [18:23:35.044] | : . | fcn <- eval(call) [18:23:35.044] | : . | expr[[1]] <- call [18:23:35.044] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.044] | : . | { [18:23:35.044] | : . | if (length(options) == 0L) return(options) [18:23:35.044] | : . | if (is.null(defaults_base)) { [18:23:35.044] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.044] | : . | } [18:23:35.044] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.044] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.044] | : . | defaults <- defaults[keep] [18:23:35.044] | : . | specified <- attr(options, "specified") [18:23:35.044] | : . | if (length(specified) > 0) { [18:23:35.044] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.044] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.044] | : . | names(options)) [18:23:35.044] | : . | } [18:23:35.044] | : . | specified <- sprintf("future.%s", specified) [18:23:35.044] | : . | names <- setdiff(names(defaults), specified) [18:23:35.044] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.044] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.044] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.044] | : . | options <- options[keep] [18:23:35.044] | : . | options [18:23:35.044] | : . | })(options, fcn)) [18:23:35.044] | : . | expr <- as.call(parts) [18:23:35.044] | : . | expr [18:23:35.044] | : . | } [18:23:35.044] | : . | [18:23:35.045] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:35.045] | : get_transpiler() ... done [18:23:35.045] | : Transpile call expression ... [18:23:35.046] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [18:23:35.046] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:35.046] | : . future.label = "future_replicate-%d") [18:23:35.046] | : Transpile call expression ... done [18:23:35.047] | : Evaluate transpiled call expression [18:23:35.063] | transpile() ... done [18:23:35.063] futurize() ... done === kernapply ========================== kernapply(x = X, k = k) --------------------------------- [18:23:35.065] futurize() ... [18:23:35.065] | transpile() ... [18:23:35.065] | : get_transpiler() ... [18:23:35.066] | : . Finding call to be transpiled ... [18:23:35.066] | : . | decend_wrappers() ... [18:23:35.066] | : . | : Call: [18:23:35.066] | : . | : kernapply [18:23:35.066] | : . | : parse_call() ... [18:23:35.067] | : . | : . Function: kernapply(...) [18:23:35.067] | : . | : . Locate function ... [18:23:35.067] | : . | : . | Function located in: 'stats' [18:23:35.067] | : . | : . Locate function ... done [18:23:35.067] | : . | : parse_call() ... done [18:23:35.068] | : . | decend_wrappers() ... done [18:23:35.068] | : . | parse_call() ... [18:23:35.068] | : . | : Function: kernapply(...) [18:23:35.068] | : . | : Locate function ... [18:23:35.068] | : . | : . Function located in: 'stats' [18:23:35.068] | : . | : Locate function ... done [18:23:35.069] | : . | parse_call() ... done [18:23:35.069] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.069] | : . | kernapply [18:23:35.069] | : . Finding call to be transpiled ... done [18:23:35.069] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [18:23:35.069] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.070] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [18:23:35.070] | : . | Transpiler function: [18:23:35.070] | : . | function (expr, options = NULL) [18:23:35.070] | : . | { [18:23:35.070] | : . | call <- make_call("future_kernapply") [18:23:35.070] | : . | fcn <- eval(call) [18:23:35.070] | : . | expr[[1]] <- call [18:23:35.070] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.070] | : . | { [18:23:35.070] | : . | if (length(options) == 0L) return(options) [18:23:35.070] | : . | if (is.null(defaults_base)) { [18:23:35.070] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.070] | : . | } [18:23:35.070] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.070] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.070] | : . | defaults <- defaults[keep] [18:23:35.070] | : . | specified <- attr(options, "specified") [18:23:35.070] | : . | if (length(specified) > 0) { [18:23:35.070] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.070] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.070] | : . | names(options)) [18:23:35.070] | : . | } [18:23:35.070] | : . | specified <- sprintf("future.%s", specified) [18:23:35.070] | : . | names <- setdiff(names(defaults), specified) [18:23:35.070] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.070] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.070] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.070] | : . | options <- options[keep] [18:23:35.070] | : . | options [18:23:35.070] | : . | })(options, fcn)) [18:23:35.070] | : . | expr <- as.call(parts) [18:23:35.070] | : . | expr [18:23:35.070] | : . | } [18:23:35.070] | : . | [18:23:35.071] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [18:23:35.071] | : get_transpiler() ... done [18:23:35.071] | : Transpile call expression ... [18:23:35.071] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [18:23:35.071] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.071] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.072] | : Transpile call expression ... done [18:23:35.072] | : Evaluate transpiled call expression [18:23:35.111] | transpile() ... done [18:23:35.112] futurize() ... done [18:23:35.112] futurize() ... [18:23:35.112] | transpile() ... [18:23:35.112] | : get_transpiler() ... [18:23:35.113] | : . Finding call to be transpiled ... [18:23:35.113] | : . | decend_wrappers() ... [18:23:35.113] | : . | : Call: [18:23:35.113] | : . | : kernapply [18:23:35.113] | : . | : parse_call() ... [18:23:35.114] | : . | : . Function: kernapply(...) [18:23:35.114] | : . | : . Locate function ... [18:23:35.114] | : . | : . | Function located in: 'stats' [18:23:35.114] | : . | : . Locate function ... done [18:23:35.114] | : . | : parse_call() ... done [18:23:35.114] | : . | decend_wrappers() ... done [18:23:35.115] | : . | parse_call() ... [18:23:35.115] | : . | : Function: kernapply(...) [18:23:35.115] | : . | : Locate function ... [18:23:35.115] | : . | : . Function located in: 'stats' [18:23:35.115] | : . | : Locate function ... done [18:23:35.115] | : . | parse_call() ... done [18:23:35.115] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.116] | : . | kernapply [18:23:35.116] | : . Finding call to be transpiled ... done [18:23:35.116] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [18:23:35.116] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.116] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [18:23:35.117] | : . | Transpiler function: [18:23:35.117] | : . | function (expr, options = NULL) [18:23:35.117] | : . | { [18:23:35.117] | : . | call <- make_call("future_kernapply") [18:23:35.117] | : . | fcn <- eval(call) [18:23:35.117] | : . | expr[[1]] <- call [18:23:35.117] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.117] | : . | { [18:23:35.117] | : . | if (length(options) == 0L) return(options) [18:23:35.117] | : . | if (is.null(defaults_base)) { [18:23:35.117] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.117] | : . | } [18:23:35.117] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.117] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.117] | : . | defaults <- defaults[keep] [18:23:35.117] | : . | specified <- attr(options, "specified") [18:23:35.117] | : . | if (length(specified) > 0) { [18:23:35.117] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.117] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.117] | : . | names(options)) [18:23:35.117] | : . | } [18:23:35.117] | : . | specified <- sprintf("future.%s", specified) [18:23:35.117] | : . | names <- setdiff(names(defaults), specified) [18:23:35.117] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.117] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.117] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.117] | : . | options <- options[keep] [18:23:35.117] | : . | options [18:23:35.117] | : . | })(options, fcn)) [18:23:35.117] | : . | expr <- as.call(parts) [18:23:35.117] | : . | expr [18:23:35.117] | : . | } [18:23:35.117] | : . | [18:23:35.117] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [18:23:35.118] | : get_transpiler() ... done [18:23:35.118] | : Transpile call expression ... [18:23:35.118] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [18:23:35.118] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:35.118] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.119] | : Transpile call expression ... done [18:23:35.119] | : Evaluate transpiled call expression [18:23:35.157] | transpile() ... done [18:23:35.158] futurize() ... done character(0) [18:23:35.158] futurize() ... [18:23:35.158] | transpile() ... [18:23:35.158] | : get_transpiler() ... [18:23:35.159] | : . Finding call to be transpiled ... [18:23:35.159] | : . | decend_wrappers() ... [18:23:35.159] | : . | : Call: [18:23:35.159] | : . | : kernapply [18:23:35.159] | : . | : parse_call() ... [18:23:35.159] | : . | : . Function: kernapply(...) [18:23:35.160] | : . | : . Locate function ... [18:23:35.160] | : . | : . | Function located in: 'stats' [18:23:35.160] | : . | : . Locate function ... done [18:23:35.160] | : . | : parse_call() ... done [18:23:35.160] | : . | decend_wrappers() ... done [18:23:35.160] | : . | parse_call() ... [18:23:35.161] | : . | : Function: kernapply(...) [18:23:35.161] | : . | : Locate function ... [18:23:35.161] | : . | : . Function located in: 'stats' [18:23:35.161] | : . | : Locate function ... done [18:23:35.161] | : . | parse_call() ... done [18:23:35.161] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.162] | : . | kernapply [18:23:35.162] | : . Finding call to be transpiled ... done [18:23:35.162] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [18:23:35.162] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.162] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [18:23:35.163] | : . | Transpiler function: [18:23:35.163] | : . | function (expr, options = NULL) [18:23:35.163] | : . | { [18:23:35.163] | : . | call <- make_call("future_kernapply") [18:23:35.163] | : . | fcn <- eval(call) [18:23:35.163] | : . | expr[[1]] <- call [18:23:35.163] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.163] | : . | { [18:23:35.163] | : . | if (length(options) == 0L) return(options) [18:23:35.163] | : . | if (is.null(defaults_base)) { [18:23:35.163] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.163] | : . | } [18:23:35.163] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.163] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.163] | : . | defaults <- defaults[keep] [18:23:35.163] | : . | specified <- attr(options, "specified") [18:23:35.163] | : . | if (length(specified) > 0) { [18:23:35.163] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.163] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.163] | : . | names(options)) [18:23:35.163] | : . | } [18:23:35.163] | : . | specified <- sprintf("future.%s", specified) [18:23:35.163] | : . | names <- setdiff(names(defaults), specified) [18:23:35.163] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.163] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.163] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.163] | : . | options <- options[keep] [18:23:35.163] | : . | options [18:23:35.163] | : . | })(options, fcn)) [18:23:35.163] | : . | expr <- as.call(parts) [18:23:35.163] | : . | expr [18:23:35.163] | : . | } [18:23:35.163] | : . | [18:23:35.163] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [18:23:35.164] | : get_transpiler() ... done [18:23:35.164] | : Transpile call expression ... [18:23:35.164] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [18:23:35.164] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.164] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [18:23:35.165] | : Transpile call expression ... done [18:23:35.165] | : Evaluate transpiled call expression [18:23:35.205] | transpile() ... done [18:23:35.205] futurize() ... done Test with RNG: futurize(kernapply(x = X, k = k), seed = TRUE, flavor = "add-on") [18:23:35.206] futurize() ... [18:23:35.206] | transpile() ... [18:23:35.206] | : get_transpiler() ... [18:23:35.206] | : . Finding call to be transpiled ... [18:23:35.206] | : . | decend_wrappers() ... [18:23:35.207] | : . | : Call: [18:23:35.207] | : . | : kernapply [18:23:35.207] | : . | : parse_call() ... [18:23:35.207] | : . | : . Function: kernapply(...) [18:23:35.207] | : . | : . Locate function ... [18:23:35.208] | : . | : . | Function located in: 'stats' [18:23:35.208] | : . | : . Locate function ... done [18:23:35.208] | : . | : parse_call() ... done [18:23:35.208] | : . | decend_wrappers() ... done [18:23:35.208] | : . | parse_call() ... [18:23:35.208] | : . | : Function: kernapply(...) [18:23:35.209] | : . | : Locate function ... [18:23:35.209] | : . | : . Function located in: 'stats' [18:23:35.209] | : . | : Locate function ... done [18:23:35.209] | : . | parse_call() ... done [18:23:35.209] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.209] | : . | kernapply [18:23:35.210] | : . Finding call to be transpiled ... done [18:23:35.210] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [18:23:35.210] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.210] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [18:23:35.210] | : . | Transpiler function: [18:23:35.210] | : . | function (expr, options = NULL) [18:23:35.210] | : . | { [18:23:35.210] | : . | call <- make_call("future_kernapply") [18:23:35.210] | : . | fcn <- eval(call) [18:23:35.210] | : . | expr[[1]] <- call [18:23:35.210] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.210] | : . | { [18:23:35.210] | : . | if (length(options) == 0L) return(options) [18:23:35.210] | : . | if (is.null(defaults_base)) { [18:23:35.210] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.210] | : . | } [18:23:35.210] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.210] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.210] | : . | defaults <- defaults[keep] [18:23:35.210] | : . | specified <- attr(options, "specified") [18:23:35.210] | : . | if (length(specified) > 0) { [18:23:35.210] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.210] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.210] | : . | names(options)) [18:23:35.210] | : . | } [18:23:35.210] | : . | specified <- sprintf("future.%s", specified) [18:23:35.210] | : . | names <- setdiff(names(defaults), specified) [18:23:35.210] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.210] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.210] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.210] | : . | options <- options[keep] [18:23:35.210] | : . | options [18:23:35.210] | : . | })(options, fcn)) [18:23:35.210] | : . | expr <- as.call(parts) [18:23:35.210] | : . | expr [18:23:35.210] | : . | } [18:23:35.210] | : . | [18:23:35.211] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [18:23:35.211] | : get_transpiler() ... done [18:23:35.211] | : Transpile call expression ... [18:23:35.212] | : . future.apply::future_kernapply(x = X, k = k, future.seed = TRUE, [18:23:35.212] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.212] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.213] | : Transpile call expression ... done [18:23:35.213] | : Evaluate transpiled call expression [18:23:35.251] | transpile() ... done [18:23:35.252] futurize() ... done === lapply ========================== lapply(X = xs, FUN = FUN) --------------------------------- [18:23:35.252] futurize() ... [18:23:35.253] | transpile() ... [18:23:35.253] | : get_transpiler() ... [18:23:35.253] | : . Finding call to be transpiled ... [18:23:35.253] | : . | decend_wrappers() ... [18:23:35.253] | : . | : Call: [18:23:35.253] | : . | : lapply [18:23:35.254] | : . | : parse_call() ... [18:23:35.254] | : . | : . Function: lapply(...) [18:23:35.254] | : . | : . Locate function ... [18:23:35.254] | : . | : . | Function located in: 'base' [18:23:35.254] | : . | : . Locate function ... done [18:23:35.254] | : . | : parse_call() ... done [18:23:35.255] | : . | decend_wrappers() ... done [18:23:35.255] | : . | parse_call() ... [18:23:35.255] | : . | : Function: lapply(...) [18:23:35.255] | : . | : Locate function ... [18:23:35.255] | : . | : . Function located in: 'base' [18:23:35.255] | : . | : Locate function ... done [18:23:35.256] | : . | parse_call() ... done [18:23:35.256] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.256] | : . | lapply [18:23:35.256] | : . Finding call to be transpiled ... done [18:23:35.256] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.256] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.257] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.257] | : . | Transpiler function: [18:23:35.257] | : . | function (expr, options = NULL) [18:23:35.257] | : . | { [18:23:35.257] | : . | call <- make_call("future_lapply") [18:23:35.257] | : . | fcn <- eval(call) [18:23:35.257] | : . | expr[[1]] <- call [18:23:35.257] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.257] | : . | { [18:23:35.257] | : . | if (length(options) == 0L) return(options) [18:23:35.257] | : . | if (is.null(defaults_base)) { [18:23:35.257] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.257] | : . | } [18:23:35.257] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.257] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.257] | : . | defaults <- defaults[keep] [18:23:35.257] | : . | specified <- attr(options, "specified") [18:23:35.257] | : . | if (length(specified) > 0) { [18:23:35.257] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.257] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.257] | : . | names(options)) [18:23:35.257] | : . | } [18:23:35.257] | : . | specified <- sprintf("future.%s", specified) [18:23:35.257] | : . | names <- setdiff(names(defaults), specified) [18:23:35.257] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.257] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.257] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.257] | : . | options <- options[keep] [18:23:35.257] | : . | options [18:23:35.257] | : . | })(options, fcn)) [18:23:35.257] | : . | expr <- as.call(parts) [18:23:35.257] | : . | expr [18:23:35.257] | : . | } [18:23:35.257] | : . | [18:23:35.257] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.258] | : get_transpiler() ... done [18:23:35.258] | : Transpile call expression ... [18:23:35.258] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.258] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.258] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.259] | : Transpile call expression ... done [18:23:35.259] | : Evaluate transpiled call expression [18:23:35.294] | transpile() ... done [18:23:35.294] futurize() ... done [18:23:35.294] futurize() ... [18:23:35.294] | transpile() ... [18:23:35.295] | : get_transpiler() ... [18:23:35.295] | : . Finding call to be transpiled ... [18:23:35.295] | : . | decend_wrappers() ... [18:23:35.295] | : . | : Call: [18:23:35.295] | : . | : lapply [18:23:35.295] | : . | : parse_call() ... [18:23:35.296] | : . | : . Function: lapply(...) [18:23:35.296] | : . | : . Locate function ... [18:23:35.296] | : . | : . | Function located in: 'base' [18:23:35.296] | : . | : . Locate function ... done [18:23:35.296] | : . | : parse_call() ... done [18:23:35.296] | : . | decend_wrappers() ... done [18:23:35.296] | : . | parse_call() ... [18:23:35.297] | : . | : Function: lapply(...) [18:23:35.297] | : . | : Locate function ... [18:23:35.297] | : . | : . Function located in: 'base' [18:23:35.297] | : . | : Locate function ... done [18:23:35.297] | : . | parse_call() ... done [18:23:35.297] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.298] | : . | lapply [18:23:35.298] | : . Finding call to be transpiled ... done [18:23:35.298] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.298] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.298] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.298] | : . | Transpiler function: [18:23:35.299] | : . | function (expr, options = NULL) [18:23:35.299] | : . | { [18:23:35.299] | : . | call <- make_call("future_lapply") [18:23:35.299] | : . | fcn <- eval(call) [18:23:35.299] | : . | expr[[1]] <- call [18:23:35.299] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.299] | : . | { [18:23:35.299] | : . | if (length(options) == 0L) return(options) [18:23:35.299] | : . | if (is.null(defaults_base)) { [18:23:35.299] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.299] | : . | } [18:23:35.299] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.299] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.299] | : . | defaults <- defaults[keep] [18:23:35.299] | : . | specified <- attr(options, "specified") [18:23:35.299] | : . | if (length(specified) > 0) { [18:23:35.299] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.299] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.299] | : . | names(options)) [18:23:35.299] | : . | } [18:23:35.299] | : . | specified <- sprintf("future.%s", specified) [18:23:35.299] | : . | names <- setdiff(names(defaults), specified) [18:23:35.299] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.299] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.299] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.299] | : . | options <- options[keep] [18:23:35.299] | : . | options [18:23:35.299] | : . | })(options, fcn)) [18:23:35.299] | : . | expr <- as.call(parts) [18:23:35.299] | : . | expr [18:23:35.299] | : . | } [18:23:35.299] | : . | [18:23:35.299] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.299] | : get_transpiler() ... done [18:23:35.299] | : Transpile call expression ... [18:23:35.300] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.300] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:35.300] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.301] | : Transpile call expression ... done [18:23:35.301] | : Evaluate transpiled call expression [18:23:35.332] | transpile() ... done [18:23:35.332] futurize() ... done character(0) [18:23:35.332] futurize() ... [18:23:35.332] | transpile() ... [18:23:35.333] | : get_transpiler() ... [18:23:35.333] | : . Finding call to be transpiled ... [18:23:35.333] | : . | decend_wrappers() ... [18:23:35.333] | : . | : Call: [18:23:35.333] | : . | : lapply [18:23:35.333] | : . | : parse_call() ... [18:23:35.334] | : . | : . Function: lapply(...) [18:23:35.334] | : . | : . Locate function ... [18:23:35.334] | : . | : . | Function located in: 'base' [18:23:35.334] | : . | : . Locate function ... done [18:23:35.334] | : . | : parse_call() ... done [18:23:35.334] | : . | decend_wrappers() ... done [18:23:35.335] | : . | parse_call() ... [18:23:35.335] | : . | : Function: lapply(...) [18:23:35.335] | : . | : Locate function ... [18:23:35.335] | : . | : . Function located in: 'base' [18:23:35.335] | : . | : Locate function ... done [18:23:35.335] | : . | parse_call() ... done [18:23:35.335] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.336] | : . | lapply [18:23:35.336] | : . Finding call to be transpiled ... done [18:23:35.336] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.336] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.336] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.336] | : . | Transpiler function: [18:23:35.337] | : . | function (expr, options = NULL) [18:23:35.337] | : . | { [18:23:35.337] | : . | call <- make_call("future_lapply") [18:23:35.337] | : . | fcn <- eval(call) [18:23:35.337] | : . | expr[[1]] <- call [18:23:35.337] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.337] | : . | { [18:23:35.337] | : . | if (length(options) == 0L) return(options) [18:23:35.337] | : . | if (is.null(defaults_base)) { [18:23:35.337] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.337] | : . | } [18:23:35.337] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.337] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.337] | : . | defaults <- defaults[keep] [18:23:35.337] | : . | specified <- attr(options, "specified") [18:23:35.337] | : . | if (length(specified) > 0) { [18:23:35.337] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.337] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.337] | : . | names(options)) [18:23:35.337] | : . | } [18:23:35.337] | : . | specified <- sprintf("future.%s", specified) [18:23:35.337] | : . | names <- setdiff(names(defaults), specified) [18:23:35.337] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.337] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.337] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.337] | : . | options <- options[keep] [18:23:35.337] | : . | options [18:23:35.337] | : . | })(options, fcn)) [18:23:35.337] | : . | expr <- as.call(parts) [18:23:35.337] | : . | expr [18:23:35.337] | : . | } [18:23:35.337] | : . | [18:23:35.337] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.337] | : get_transpiler() ... done [18:23:35.338] | : Transpile call expression ... [18:23:35.338] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.338] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.338] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [18:23:35.339] | : Transpile call expression ... done [18:23:35.339] | : Evaluate transpiled call expression [18:23:35.419] | transpile() ... done [18:23:35.419] futurize() ... done Test with RNG: futurize(lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [18:23:35.420] futurize() ... [18:23:35.420] | transpile() ... [18:23:35.420] | : get_transpiler() ... [18:23:35.420] | : . Finding call to be transpiled ... [18:23:35.420] | : . | decend_wrappers() ... [18:23:35.420] | : . | : Call: [18:23:35.421] | : . | : lapply [18:23:35.421] | : . | : parse_call() ... [18:23:35.421] | : . | : . Function: lapply(...) [18:23:35.421] | : . | : . Locate function ... [18:23:35.421] | : . | : . | Function located in: 'base' [18:23:35.422] | : . | : . Locate function ... done [18:23:35.422] | : . | : parse_call() ... done [18:23:35.422] | : . | decend_wrappers() ... done [18:23:35.422] | : . | parse_call() ... [18:23:35.422] | : . | : Function: lapply(...) [18:23:35.422] | : . | : Locate function ... [18:23:35.422] | : . | : . Function located in: 'base' [18:23:35.423] | : . | : Locate function ... done [18:23:35.423] | : . | parse_call() ... done [18:23:35.423] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.423] | : . | lapply [18:23:35.423] | : . Finding call to be transpiled ... done [18:23:35.424] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.424] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.424] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.424] | : . | Transpiler function: [18:23:35.424] | : . | function (expr, options = NULL) [18:23:35.424] | : . | { [18:23:35.424] | : . | call <- make_call("future_lapply") [18:23:35.424] | : . | fcn <- eval(call) [18:23:35.424] | : . | expr[[1]] <- call [18:23:35.424] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.424] | : . | { [18:23:35.424] | : . | if (length(options) == 0L) return(options) [18:23:35.424] | : . | if (is.null(defaults_base)) { [18:23:35.424] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.424] | : . | } [18:23:35.424] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.424] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.424] | : . | defaults <- defaults[keep] [18:23:35.424] | : . | specified <- attr(options, "specified") [18:23:35.424] | : . | if (length(specified) > 0) { [18:23:35.424] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.424] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.424] | : . | names(options)) [18:23:35.424] | : . | } [18:23:35.424] | : . | specified <- sprintf("future.%s", specified) [18:23:35.424] | : . | names <- setdiff(names(defaults), specified) [18:23:35.424] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.424] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.424] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.424] | : . | options <- options[keep] [18:23:35.424] | : . | options [18:23:35.424] | : . | })(options, fcn)) [18:23:35.424] | : . | expr <- as.call(parts) [18:23:35.424] | : . | expr [18:23:35.424] | : . | } [18:23:35.424] | : . | [18:23:35.425] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.425] | : get_transpiler() ... done [18:23:35.425] | : Transpile call expression ... [18:23:35.426] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:35.426] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.426] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.426] | : Transpile call expression ... done [18:23:35.427] | : Evaluate transpiled call expression [18:23:35.467] | transpile() ... done [18:23:35.467] futurize() ... done === lapply ========================== base::lapply(X = xs, FUN = FUN) --------------------------------- [18:23:35.468] futurize() ... [18:23:35.468] | transpile() ... [18:23:35.468] | : get_transpiler() ... [18:23:35.468] | : . Finding call to be transpiled ... [18:23:35.469] | : . | decend_wrappers() ... [18:23:35.469] | : . | : Call: [18:23:35.469] | : . | : base::lapply [18:23:35.469] | : . | : parse_call() ... [18:23:35.469] | : . | : . Function: base::lapply(...) [18:23:35.470] | : . | : parse_call() ... done [18:23:35.470] | : . | decend_wrappers() ... done [18:23:35.470] | : . | parse_call() ... [18:23:35.470] | : . | : Function: base::lapply(...) [18:23:35.470] | : . | parse_call() ... done [18:23:35.470] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.471] | : . | base::lapply [18:23:35.471] | : . Finding call to be transpiled ... done [18:23:35.471] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.471] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.471] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.472] | : . | Transpiler function: [18:23:35.472] | : . | function (expr, options = NULL) [18:23:35.472] | : . | { [18:23:35.472] | : . | call <- make_call("future_lapply") [18:23:35.472] | : . | fcn <- eval(call) [18:23:35.472] | : . | expr[[1]] <- call [18:23:35.472] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.472] | : . | { [18:23:35.472] | : . | if (length(options) == 0L) return(options) [18:23:35.472] | : . | if (is.null(defaults_base)) { [18:23:35.472] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.472] | : . | } [18:23:35.472] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.472] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.472] | : . | defaults <- defaults[keep] [18:23:35.472] | : . | specified <- attr(options, "specified") [18:23:35.472] | : . | if (length(specified) > 0) { [18:23:35.472] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.472] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.472] | : . | names(options)) [18:23:35.472] | : . | } [18:23:35.472] | : . | specified <- sprintf("future.%s", specified) [18:23:35.472] | : . | names <- setdiff(names(defaults), specified) [18:23:35.472] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.472] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.472] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.472] | : . | options <- options[keep] [18:23:35.472] | : . | options [18:23:35.472] | : . | })(options, fcn)) [18:23:35.472] | : . | expr <- as.call(parts) [18:23:35.472] | : . | expr [18:23:35.472] | : . | } [18:23:35.472] | : . | [18:23:35.472] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.472] | : get_transpiler() ... done [18:23:35.473] | : Transpile call expression ... [18:23:35.473] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.473] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.473] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.474] | : Transpile call expression ... done [18:23:35.474] | : Evaluate transpiled call expression [18:23:35.510] | transpile() ... done [18:23:35.510] futurize() ... done [18:23:35.511] futurize() ... [18:23:35.511] | transpile() ... [18:23:35.511] | : get_transpiler() ... [18:23:35.511] | : . Finding call to be transpiled ... [18:23:35.511] | : . | decend_wrappers() ... [18:23:35.512] | : . | : Call: [18:23:35.512] | : . | : base::lapply [18:23:35.512] | : . | : parse_call() ... [18:23:35.512] | : . | : . Function: base::lapply(...) [18:23:35.512] | : . | : parse_call() ... done [18:23:35.513] | : . | decend_wrappers() ... done [18:23:35.513] | : . | parse_call() ... [18:23:35.513] | : . | : Function: base::lapply(...) [18:23:35.513] | : . | parse_call() ... done [18:23:35.514] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.514] | : . | base::lapply [18:23:35.514] | : . Finding call to be transpiled ... done [18:23:35.514] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.514] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.515] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.515] | : . | Transpiler function: [18:23:35.515] | : . | function (expr, options = NULL) [18:23:35.515] | : . | { [18:23:35.515] | : . | call <- make_call("future_lapply") [18:23:35.515] | : . | fcn <- eval(call) [18:23:35.515] | : . | expr[[1]] <- call [18:23:35.515] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.515] | : . | { [18:23:35.515] | : . | if (length(options) == 0L) return(options) [18:23:35.515] | : . | if (is.null(defaults_base)) { [18:23:35.515] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.515] | : . | } [18:23:35.515] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.515] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.515] | : . | defaults <- defaults[keep] [18:23:35.515] | : . | specified <- attr(options, "specified") [18:23:35.515] | : . | if (length(specified) > 0) { [18:23:35.515] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.515] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.515] | : . | names(options)) [18:23:35.515] | : . | } [18:23:35.515] | : . | specified <- sprintf("future.%s", specified) [18:23:35.515] | : . | names <- setdiff(names(defaults), specified) [18:23:35.515] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.515] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.515] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.515] | : . | options <- options[keep] [18:23:35.515] | : . | options [18:23:35.515] | : . | })(options, fcn)) [18:23:35.515] | : . | expr <- as.call(parts) [18:23:35.515] | : . | expr [18:23:35.515] | : . | } [18:23:35.515] | : . | [18:23:35.516] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.516] | : get_transpiler() ... done [18:23:35.516] | : Transpile call expression ... [18:23:35.516] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.516] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:35.516] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.517] | : Transpile call expression ... done [18:23:35.517] | : Evaluate transpiled call expression [18:23:35.550] | transpile() ... done [18:23:35.551] futurize() ... done character(0) [18:23:35.551] futurize() ... [18:23:35.551] | transpile() ... [18:23:35.551] | : get_transpiler() ... [18:23:35.551] | : . Finding call to be transpiled ... [18:23:35.552] | : . | decend_wrappers() ... [18:23:35.552] | : . | : Call: [18:23:35.552] | : . | : base::lapply [18:23:35.552] | : . | : parse_call() ... [18:23:35.552] | : . | : . Function: base::lapply(...) [18:23:35.553] | : . | : parse_call() ... done [18:23:35.553] | : . | decend_wrappers() ... done [18:23:35.553] | : . | parse_call() ... [18:23:35.553] | : . | : Function: base::lapply(...) [18:23:35.553] | : . | parse_call() ... done [18:23:35.553] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.554] | : . | base::lapply [18:23:35.554] | : . Finding call to be transpiled ... done [18:23:35.554] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.554] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.554] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.554] | : . | Transpiler function: [18:23:35.555] | : . | function (expr, options = NULL) [18:23:35.555] | : . | { [18:23:35.555] | : . | call <- make_call("future_lapply") [18:23:35.555] | : . | fcn <- eval(call) [18:23:35.555] | : . | expr[[1]] <- call [18:23:35.555] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.555] | : . | { [18:23:35.555] | : . | if (length(options) == 0L) return(options) [18:23:35.555] | : . | if (is.null(defaults_base)) { [18:23:35.555] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.555] | : . | } [18:23:35.555] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.555] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.555] | : . | defaults <- defaults[keep] [18:23:35.555] | : . | specified <- attr(options, "specified") [18:23:35.555] | : . | if (length(specified) > 0) { [18:23:35.555] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.555] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.555] | : . | names(options)) [18:23:35.555] | : . | } [18:23:35.555] | : . | specified <- sprintf("future.%s", specified) [18:23:35.555] | : . | names <- setdiff(names(defaults), specified) [18:23:35.555] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.555] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.555] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.555] | : . | options <- options[keep] [18:23:35.555] | : . | options [18:23:35.555] | : . | })(options, fcn)) [18:23:35.555] | : . | expr <- as.call(parts) [18:23:35.555] | : . | expr [18:23:35.555] | : . | } [18:23:35.555] | : . | [18:23:35.555] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.555] | : get_transpiler() ... done [18:23:35.556] | : Transpile call expression ... [18:23:35.556] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.556] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.556] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [18:23:35.557] | : Transpile call expression ... done [18:23:35.557] | : Evaluate transpiled call expression [18:23:35.651] | transpile() ... done [18:23:35.652] futurize() ... done Test with RNG: futurize(base::lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [18:23:35.652] futurize() ... [18:23:35.652] | transpile() ... [18:23:35.652] | : get_transpiler() ... [18:23:35.652] | : . Finding call to be transpiled ... [18:23:35.653] | : . | decend_wrappers() ... [18:23:35.653] | : . | : Call: [18:23:35.653] | : . | : base::lapply [18:23:35.653] | : . | : parse_call() ... [18:23:35.653] | : . | : . Function: base::lapply(...) [18:23:35.654] | : . | : parse_call() ... done [18:23:35.654] | : . | decend_wrappers() ... done [18:23:35.654] | : . | parse_call() ... [18:23:35.654] | : . | : Function: base::lapply(...) [18:23:35.654] | : . | parse_call() ... done [18:23:35.654] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.655] | : . | base::lapply [18:23:35.655] | : . Finding call to be transpiled ... done [18:23:35.655] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:35.655] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.655] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:35.656] | : . | Transpiler function: [18:23:35.656] | : . | function (expr, options = NULL) [18:23:35.656] | : . | { [18:23:35.656] | : . | call <- make_call("future_lapply") [18:23:35.656] | : . | fcn <- eval(call) [18:23:35.656] | : . | expr[[1]] <- call [18:23:35.656] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.656] | : . | { [18:23:35.656] | : . | if (length(options) == 0L) return(options) [18:23:35.656] | : . | if (is.null(defaults_base)) { [18:23:35.656] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.656] | : . | } [18:23:35.656] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.656] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.656] | : . | defaults <- defaults[keep] [18:23:35.656] | : . | specified <- attr(options, "specified") [18:23:35.656] | : . | if (length(specified) > 0) { [18:23:35.656] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.656] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.656] | : . | names(options)) [18:23:35.656] | : . | } [18:23:35.656] | : . | specified <- sprintf("future.%s", specified) [18:23:35.656] | : . | names <- setdiff(names(defaults), specified) [18:23:35.656] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.656] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.656] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.656] | : . | options <- options[keep] [18:23:35.656] | : . | options [18:23:35.656] | : . | })(options, fcn)) [18:23:35.656] | : . | expr <- as.call(parts) [18:23:35.656] | : . | expr [18:23:35.656] | : . | } [18:23:35.656] | : . | [18:23:35.656] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:35.656] | : get_transpiler() ... done [18:23:35.657] | : Transpile call expression ... [18:23:35.657] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:35.657] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.657] | : . future.scheduling = 1, future.label = "future_lapply-%d") [18:23:35.658] | : Transpile call expression ... done [18:23:35.658] | : Evaluate transpiled call expression [18:23:35.697] | transpile() ... done [18:23:35.698] futurize() ... done === sapply ========================== sapply(X = xs, FUN = FUN) --------------------------------- [18:23:35.698] futurize() ... [18:23:35.698] | transpile() ... [18:23:35.699] | : get_transpiler() ... [18:23:35.699] | : . Finding call to be transpiled ... [18:23:35.699] | : . | decend_wrappers() ... [18:23:35.699] | : . | : Call: [18:23:35.699] | : . | : sapply [18:23:35.700] | : . | : parse_call() ... [18:23:35.700] | : . | : . Function: sapply(...) [18:23:35.700] | : . | : . Locate function ... [18:23:35.700] | : . | : . | Function located in: 'base' [18:23:35.700] | : . | : . Locate function ... done [18:23:35.700] | : . | : parse_call() ... done [18:23:35.701] | : . | decend_wrappers() ... done [18:23:35.701] | : . | parse_call() ... [18:23:35.701] | : . | : Function: sapply(...) [18:23:35.701] | : . | : Locate function ... [18:23:35.701] | : . | : . Function located in: 'base' [18:23:35.701] | : . | : Locate function ... done [18:23:35.701] | : . | parse_call() ... done [18:23:35.702] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.702] | : . | sapply [18:23:35.702] | : . Finding call to be transpiled ... done [18:23:35.702] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:35.702] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.703] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:35.703] | : . | Transpiler function: [18:23:35.703] | : . | function (expr, options = NULL) [18:23:35.703] | : . | { [18:23:35.703] | : . | call <- make_call("future_sapply") [18:23:35.703] | : . | fcn <- eval(call) [18:23:35.703] | : . | expr[[1]] <- call [18:23:35.703] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.703] | : . | { [18:23:35.703] | : . | if (length(options) == 0L) return(options) [18:23:35.703] | : . | if (is.null(defaults_base)) { [18:23:35.703] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.703] | : . | } [18:23:35.703] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.703] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.703] | : . | defaults <- defaults[keep] [18:23:35.703] | : . | specified <- attr(options, "specified") [18:23:35.703] | : . | if (length(specified) > 0) { [18:23:35.703] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.703] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.703] | : . | names(options)) [18:23:35.703] | : . | } [18:23:35.703] | : . | specified <- sprintf("future.%s", specified) [18:23:35.703] | : . | names <- setdiff(names(defaults), specified) [18:23:35.703] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.703] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.703] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.703] | : . | options <- options[keep] [18:23:35.703] | : . | options [18:23:35.703] | : . | })(options, fcn)) [18:23:35.703] | : . | expr <- as.call(parts) [18:23:35.703] | : . | expr [18:23:35.703] | : . | } [18:23:35.703] | : . | [18:23:35.704] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:35.704] | : get_transpiler() ... done [18:23:35.704] | : Transpile call expression ... [18:23:35.704] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.704] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.704] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:35.705] | : Transpile call expression ... done [18:23:35.705] | : Evaluate transpiled call expression [18:23:35.738] | transpile() ... done [18:23:35.739] futurize() ... done [18:23:35.739] futurize() ... [18:23:35.739] | transpile() ... [18:23:35.739] | : get_transpiler() ... [18:23:35.740] | : . Finding call to be transpiled ... [18:23:35.740] | : . | decend_wrappers() ... [18:23:35.740] | : . | : Call: [18:23:35.740] | : . | : sapply [18:23:35.740] | : . | : parse_call() ... [18:23:35.740] | : . | : . Function: sapply(...) [18:23:35.741] | : . | : . Locate function ... [18:23:35.741] | : . | : . | Function located in: 'base' [18:23:35.741] | : . | : . Locate function ... done [18:23:35.741] | : . | : parse_call() ... done [18:23:35.741] | : . | decend_wrappers() ... done [18:23:35.741] | : . | parse_call() ... [18:23:35.742] | : . | : Function: sapply(...) [18:23:35.742] | : . | : Locate function ... [18:23:35.742] | : . | : . Function located in: 'base' [18:23:35.742] | : . | : Locate function ... done [18:23:35.742] | : . | parse_call() ... done [18:23:35.742] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.743] | : . | sapply [18:23:35.743] | : . Finding call to be transpiled ... done [18:23:35.743] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:35.743] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.743] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:35.743] | : . | Transpiler function: [18:23:35.744] | : . | function (expr, options = NULL) [18:23:35.744] | : . | { [18:23:35.744] | : . | call <- make_call("future_sapply") [18:23:35.744] | : . | fcn <- eval(call) [18:23:35.744] | : . | expr[[1]] <- call [18:23:35.744] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.744] | : . | { [18:23:35.744] | : . | if (length(options) == 0L) return(options) [18:23:35.744] | : . | if (is.null(defaults_base)) { [18:23:35.744] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.744] | : . | } [18:23:35.744] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.744] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.744] | : . | defaults <- defaults[keep] [18:23:35.744] | : . | specified <- attr(options, "specified") [18:23:35.744] | : . | if (length(specified) > 0) { [18:23:35.744] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.744] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.744] | : . | names(options)) [18:23:35.744] | : . | } [18:23:35.744] | : . | specified <- sprintf("future.%s", specified) [18:23:35.744] | : . | names <- setdiff(names(defaults), specified) [18:23:35.744] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.744] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.744] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.744] | : . | options <- options[keep] [18:23:35.744] | : . | options [18:23:35.744] | : . | })(options, fcn)) [18:23:35.744] | : . | expr <- as.call(parts) [18:23:35.744] | : . | expr [18:23:35.744] | : . | } [18:23:35.744] | : . | [18:23:35.744] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:35.744] | : get_transpiler() ... done [18:23:35.745] | : Transpile call expression ... [18:23:35.745] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.745] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:35.745] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:35.746] | : Transpile call expression ... done [18:23:35.746] | : Evaluate transpiled call expression [18:23:35.781] | transpile() ... done [18:23:35.781] futurize() ... done character(0) [18:23:35.782] futurize() ... [18:23:35.782] | transpile() ... [18:23:35.782] | : get_transpiler() ... [18:23:35.782] | : . Finding call to be transpiled ... [18:23:35.782] | : . | decend_wrappers() ... [18:23:35.782] | : . | : Call: [18:23:35.783] | : . | : sapply [18:23:35.783] | : . | : parse_call() ... [18:23:35.783] | : . | : . Function: sapply(...) [18:23:35.783] | : . | : . Locate function ... [18:23:35.783] | : . | : . | Function located in: 'base' [18:23:35.784] | : . | : . Locate function ... done [18:23:35.784] | : . | : parse_call() ... done [18:23:35.784] | : . | decend_wrappers() ... done [18:23:35.784] | : . | parse_call() ... [18:23:35.784] | : . | : Function: sapply(...) [18:23:35.784] | : . | : Locate function ... [18:23:35.785] | : . | : . Function located in: 'base' [18:23:35.785] | : . | : Locate function ... done [18:23:35.785] | : . | parse_call() ... done [18:23:35.785] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.785] | : . | sapply [18:23:35.785] | : . Finding call to be transpiled ... done [18:23:35.786] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:35.786] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.786] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:35.786] | : . | Transpiler function: [18:23:35.786] | : . | function (expr, options = NULL) [18:23:35.786] | : . | { [18:23:35.786] | : . | call <- make_call("future_sapply") [18:23:35.786] | : . | fcn <- eval(call) [18:23:35.786] | : . | expr[[1]] <- call [18:23:35.786] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.786] | : . | { [18:23:35.786] | : . | if (length(options) == 0L) return(options) [18:23:35.786] | : . | if (is.null(defaults_base)) { [18:23:35.786] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.786] | : . | } [18:23:35.786] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.786] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.786] | : . | defaults <- defaults[keep] [18:23:35.786] | : . | specified <- attr(options, "specified") [18:23:35.786] | : . | if (length(specified) > 0) { [18:23:35.786] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.786] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.786] | : . | names(options)) [18:23:35.786] | : . | } [18:23:35.786] | : . | specified <- sprintf("future.%s", specified) [18:23:35.786] | : . | names <- setdiff(names(defaults), specified) [18:23:35.786] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.786] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.786] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.786] | : . | options <- options[keep] [18:23:35.786] | : . | options [18:23:35.786] | : . | })(options, fcn)) [18:23:35.786] | : . | expr <- as.call(parts) [18:23:35.786] | : . | expr [18:23:35.786] | : . | } [18:23:35.786] | : . | [18:23:35.787] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:35.787] | : get_transpiler() ... done [18:23:35.787] | : Transpile call expression ... [18:23:35.788] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.788] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.788] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [18:23:35.788] | : Transpile call expression ... done [18:23:35.789] | : Evaluate transpiled call expression [18:23:35.886] | transpile() ... done [18:23:35.886] futurize() ... done Test with RNG: futurize(sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [18:23:35.886] futurize() ... [18:23:35.887] | transpile() ... [18:23:35.887] | : get_transpiler() ... [18:23:35.887] | : . Finding call to be transpiled ... [18:23:35.887] | : . | decend_wrappers() ... [18:23:35.887] | : . | : Call: [18:23:35.887] | : . | : sapply [18:23:35.888] | : . | : parse_call() ... [18:23:35.888] | : . | : . Function: sapply(...) [18:23:35.888] | : . | : . Locate function ... [18:23:35.888] | : . | : . | Function located in: 'base' [18:23:35.888] | : . | : . Locate function ... done [18:23:35.888] | : . | : parse_call() ... done [18:23:35.889] | : . | decend_wrappers() ... done [18:23:35.889] | : . | parse_call() ... [18:23:35.889] | : . | : Function: sapply(...) [18:23:35.889] | : . | : Locate function ... [18:23:35.889] | : . | : . Function located in: 'base' [18:23:35.889] | : . | : Locate function ... done [18:23:35.890] | : . | parse_call() ... done [18:23:35.890] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.890] | : . | sapply [18:23:35.890] | : . Finding call to be transpiled ... done [18:23:35.890] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:35.891] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.891] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:35.891] | : . | Transpiler function: [18:23:35.891] | : . | function (expr, options = NULL) [18:23:35.891] | : . | { [18:23:35.891] | : . | call <- make_call("future_sapply") [18:23:35.891] | : . | fcn <- eval(call) [18:23:35.891] | : . | expr[[1]] <- call [18:23:35.891] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.891] | : . | { [18:23:35.891] | : . | if (length(options) == 0L) return(options) [18:23:35.891] | : . | if (is.null(defaults_base)) { [18:23:35.891] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.891] | : . | } [18:23:35.891] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.891] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.891] | : . | defaults <- defaults[keep] [18:23:35.891] | : . | specified <- attr(options, "specified") [18:23:35.891] | : . | if (length(specified) > 0) { [18:23:35.891] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.891] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.891] | : . | names(options)) [18:23:35.891] | : . | } [18:23:35.891] | : . | specified <- sprintf("future.%s", specified) [18:23:35.891] | : . | names <- setdiff(names(defaults), specified) [18:23:35.891] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.891] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.891] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.891] | : . | options <- options[keep] [18:23:35.891] | : . | options [18:23:35.891] | : . | })(options, fcn)) [18:23:35.891] | : . | expr <- as.call(parts) [18:23:35.891] | : . | expr [18:23:35.891] | : . | } [18:23:35.891] | : . | [18:23:35.892] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:35.892] | : get_transpiler() ... done [18:23:35.892] | : Transpile call expression ... [18:23:35.892] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:35.892] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.892] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:35.893] | : Transpile call expression ... done [18:23:35.893] | : Evaluate transpiled call expression [18:23:35.933] | transpile() ... done [18:23:35.933] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN) --------------------------------- [18:23:35.934] futurize() ... [18:23:35.934] | transpile() ... [18:23:35.934] | : get_transpiler() ... [18:23:35.934] | : . Finding call to be transpiled ... [18:23:35.934] | : . | decend_wrappers() ... [18:23:35.934] | : . | : Call: [18:23:35.935] | : . | : base::sapply [18:23:35.935] | : . | : parse_call() ... [18:23:35.935] | : . | : . Function: base::sapply(...) [18:23:35.935] | : . | : parse_call() ... done [18:23:35.935] | : . | decend_wrappers() ... done [18:23:35.936] | : . | parse_call() ... [18:23:35.936] | : . | : Function: base::sapply(...) [18:23:35.936] | : . | parse_call() ... done [18:23:35.936] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.936] | : . | base::sapply [18:23:35.937] | : . Finding call to be transpiled ... done [18:23:35.937] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:35.937] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.937] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:35.937] | : . | Transpiler function: [18:23:35.937] | : . | function (expr, options = NULL) [18:23:35.937] | : . | { [18:23:35.937] | : . | call <- make_call("future_sapply") [18:23:35.937] | : . | fcn <- eval(call) [18:23:35.937] | : . | expr[[1]] <- call [18:23:35.937] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.937] | : . | { [18:23:35.937] | : . | if (length(options) == 0L) return(options) [18:23:35.937] | : . | if (is.null(defaults_base)) { [18:23:35.937] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.937] | : . | } [18:23:35.937] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.937] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.937] | : . | defaults <- defaults[keep] [18:23:35.937] | : . | specified <- attr(options, "specified") [18:23:35.937] | : . | if (length(specified) > 0) { [18:23:35.937] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.937] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.937] | : . | names(options)) [18:23:35.937] | : . | } [18:23:35.937] | : . | specified <- sprintf("future.%s", specified) [18:23:35.937] | : . | names <- setdiff(names(defaults), specified) [18:23:35.937] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.937] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.937] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.937] | : . | options <- options[keep] [18:23:35.937] | : . | options [18:23:35.937] | : . | })(options, fcn)) [18:23:35.937] | : . | expr <- as.call(parts) [18:23:35.937] | : . | expr [18:23:35.937] | : . | } [18:23:35.937] | : . | [18:23:35.938] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:35.938] | : get_transpiler() ... done [18:23:35.938] | : Transpile call expression ... [18:23:35.939] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.939] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:35.939] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:35.940] | : Transpile call expression ... done [18:23:35.940] | : Evaluate transpiled call expression [18:23:35.973] | transpile() ... done [18:23:35.973] futurize() ... done [18:23:35.974] futurize() ... [18:23:35.974] | transpile() ... [18:23:35.974] | : get_transpiler() ... [18:23:35.974] | : . Finding call to be transpiled ... [18:23:35.974] | : . | decend_wrappers() ... [18:23:35.974] | : . | : Call: [18:23:35.975] | : . | : base::sapply [18:23:35.975] | : . | : parse_call() ... [18:23:35.975] | : . | : . Function: base::sapply(...) [18:23:35.975] | : . | : parse_call() ... done [18:23:35.975] | : . | decend_wrappers() ... done [18:23:35.976] | : . | parse_call() ... [18:23:35.976] | : . | : Function: base::sapply(...) [18:23:35.976] | : . | parse_call() ... done [18:23:35.976] | : . | Position of call to be transpiled in expression: c(1) [18:23:35.976] | : . | base::sapply [18:23:35.976] | : . Finding call to be transpiled ... done [18:23:35.977] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:35.977] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:35.977] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:35.977] | : . | Transpiler function: [18:23:35.977] | : . | function (expr, options = NULL) [18:23:35.977] | : . | { [18:23:35.977] | : . | call <- make_call("future_sapply") [18:23:35.977] | : . | fcn <- eval(call) [18:23:35.977] | : . | expr[[1]] <- call [18:23:35.977] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:35.977] | : . | { [18:23:35.977] | : . | if (length(options) == 0L) return(options) [18:23:35.977] | : . | if (is.null(defaults_base)) { [18:23:35.977] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:35.977] | : . | } [18:23:35.977] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:35.977] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:35.977] | : . | defaults <- defaults[keep] [18:23:35.977] | : . | specified <- attr(options, "specified") [18:23:35.977] | : . | if (length(specified) > 0) { [18:23:35.977] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:35.977] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:35.977] | : . | names(options)) [18:23:35.977] | : . | } [18:23:35.977] | : . | specified <- sprintf("future.%s", specified) [18:23:35.977] | : . | names <- setdiff(names(defaults), specified) [18:23:35.977] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:35.977] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:35.977] | : . | keep <- intersect(names(options), names(defaults)) [18:23:35.977] | : . | options <- options[keep] [18:23:35.977] | : . | options [18:23:35.977] | : . | })(options, fcn)) [18:23:35.977] | : . | expr <- as.call(parts) [18:23:35.977] | : . | expr [18:23:35.977] | : . | } [18:23:35.977] | : . | [18:23:35.978] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:35.978] | : get_transpiler() ... done [18:23:35.978] | : Transpile call expression ... [18:23:35.979] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:35.979] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:35.979] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:35.979] | : Transpile call expression ... done [18:23:35.980] | : Evaluate transpiled call expression [18:23:36.015] | transpile() ... done [18:23:36.016] futurize() ... done character(0) [18:23:36.016] futurize() ... [18:23:36.016] | transpile() ... [18:23:36.016] | : get_transpiler() ... [18:23:36.016] | : . Finding call to be transpiled ... [18:23:36.016] | : . | decend_wrappers() ... [18:23:36.017] | : . | : Call: [18:23:36.017] | : . | : base::sapply [18:23:36.017] | : . | : parse_call() ... [18:23:36.017] | : . | : . Function: base::sapply(...) [18:23:36.017] | : . | : parse_call() ... done [18:23:36.018] | : . | decend_wrappers() ... done [18:23:36.018] | : . | parse_call() ... [18:23:36.018] | : . | : Function: base::sapply(...) [18:23:36.018] | : . | parse_call() ... done [18:23:36.018] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.018] | : . | base::sapply [18:23:36.019] | : . Finding call to be transpiled ... done [18:23:36.019] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.019] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.019] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.019] | : . | Transpiler function: [18:23:36.019] | : . | function (expr, options = NULL) [18:23:36.019] | : . | { [18:23:36.019] | : . | call <- make_call("future_sapply") [18:23:36.019] | : . | fcn <- eval(call) [18:23:36.019] | : . | expr[[1]] <- call [18:23:36.019] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.019] | : . | { [18:23:36.019] | : . | if (length(options) == 0L) return(options) [18:23:36.019] | : . | if (is.null(defaults_base)) { [18:23:36.019] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.019] | : . | } [18:23:36.019] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.019] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.019] | : . | defaults <- defaults[keep] [18:23:36.019] | : . | specified <- attr(options, "specified") [18:23:36.019] | : . | if (length(specified) > 0) { [18:23:36.019] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.019] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.019] | : . | names(options)) [18:23:36.019] | : . | } [18:23:36.019] | : . | specified <- sprintf("future.%s", specified) [18:23:36.019] | : . | names <- setdiff(names(defaults), specified) [18:23:36.019] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.019] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.019] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.019] | : . | options <- options[keep] [18:23:36.019] | : . | options [18:23:36.019] | : . | })(options, fcn)) [18:23:36.019] | : . | expr <- as.call(parts) [18:23:36.019] | : . | expr [18:23:36.019] | : . | } [18:23:36.019] | : . | [18:23:36.020] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.020] | : get_transpiler() ... done [18:23:36.021] | : Transpile call expression ... [18:23:36.021] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [18:23:36.021] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:36.021] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [18:23:36.022] | : Transpile call expression ... done [18:23:36.022] | : Evaluate transpiled call expression [18:23:36.105] | transpile() ... done [18:23:36.105] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [18:23:36.106] futurize() ... [18:23:36.106] | transpile() ... [18:23:36.106] | : get_transpiler() ... [18:23:36.106] | : . Finding call to be transpiled ... [18:23:36.106] | : . | decend_wrappers() ... [18:23:36.107] | : . | : Call: [18:23:36.107] | : . | : base::sapply [18:23:36.107] | : . | : parse_call() ... [18:23:36.107] | : . | : . Function: base::sapply(...) [18:23:36.107] | : . | : parse_call() ... done [18:23:36.107] | : . | decend_wrappers() ... done [18:23:36.108] | : . | parse_call() ... [18:23:36.108] | : . | : Function: base::sapply(...) [18:23:36.108] | : . | parse_call() ... done [18:23:36.108] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.108] | : . | base::sapply [18:23:36.109] | : . Finding call to be transpiled ... done [18:23:36.109] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.109] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.109] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.109] | : . | Transpiler function: [18:23:36.109] | : . | function (expr, options = NULL) [18:23:36.109] | : . | { [18:23:36.109] | : . | call <- make_call("future_sapply") [18:23:36.109] | : . | fcn <- eval(call) [18:23:36.109] | : . | expr[[1]] <- call [18:23:36.109] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.109] | : . | { [18:23:36.109] | : . | if (length(options) == 0L) return(options) [18:23:36.109] | : . | if (is.null(defaults_base)) { [18:23:36.109] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.109] | : . | } [18:23:36.109] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.109] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.109] | : . | defaults <- defaults[keep] [18:23:36.109] | : . | specified <- attr(options, "specified") [18:23:36.109] | : . | if (length(specified) > 0) { [18:23:36.109] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.109] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.109] | : . | names(options)) [18:23:36.109] | : . | } [18:23:36.109] | : . | specified <- sprintf("future.%s", specified) [18:23:36.109] | : . | names <- setdiff(names(defaults), specified) [18:23:36.109] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.109] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.109] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.109] | : . | options <- options[keep] [18:23:36.109] | : . | options [18:23:36.109] | : . | })(options, fcn)) [18:23:36.109] | : . | expr <- as.call(parts) [18:23:36.109] | : . | expr [18:23:36.109] | : . | } [18:23:36.109] | : . | [18:23:36.110] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.110] | : get_transpiler() ... done [18:23:36.110] | : Transpile call expression ... [18:23:36.111] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [18:23:36.111] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:36.111] | : . future.scheduling = 1, future.label = "future_sapply-%d") [18:23:36.112] | : Transpile call expression ... done [18:23:36.112] | : Evaluate transpiled call expression [18:23:36.149] | transpile() ... done [18:23:36.149] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, simplify = FALSE) --------------------------------- [18:23:36.150] futurize() ... [18:23:36.150] | transpile() ... [18:23:36.150] | : get_transpiler() ... [18:23:36.151] | : . Finding call to be transpiled ... [18:23:36.151] | : . | decend_wrappers() ... [18:23:36.151] | : . | : Call: [18:23:36.151] | : . | : base::sapply [18:23:36.151] | : . | : parse_call() ... [18:23:36.151] | : . | : . Function: base::sapply(...) [18:23:36.152] | : . | : parse_call() ... done [18:23:36.152] | : . | decend_wrappers() ... done [18:23:36.152] | : . | parse_call() ... [18:23:36.152] | : . | : Function: base::sapply(...) [18:23:36.152] | : . | parse_call() ... done [18:23:36.152] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.153] | : . | base::sapply [18:23:36.153] | : . Finding call to be transpiled ... done [18:23:36.153] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.153] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.153] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.154] | : . | Transpiler function: [18:23:36.154] | : . | function (expr, options = NULL) [18:23:36.154] | : . | { [18:23:36.154] | : . | call <- make_call("future_sapply") [18:23:36.154] | : . | fcn <- eval(call) [18:23:36.154] | : . | expr[[1]] <- call [18:23:36.154] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.154] | : . | { [18:23:36.154] | : . | if (length(options) == 0L) return(options) [18:23:36.154] | : . | if (is.null(defaults_base)) { [18:23:36.154] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.154] | : . | } [18:23:36.154] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.154] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.154] | : . | defaults <- defaults[keep] [18:23:36.154] | : . | specified <- attr(options, "specified") [18:23:36.154] | : . | if (length(specified) > 0) { [18:23:36.154] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.154] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.154] | : . | names(options)) [18:23:36.154] | : . | } [18:23:36.154] | : . | specified <- sprintf("future.%s", specified) [18:23:36.154] | : . | names <- setdiff(names(defaults), specified) [18:23:36.154] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.154] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.154] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.154] | : . | options <- options[keep] [18:23:36.154] | : . | options [18:23:36.154] | : . | })(options, fcn)) [18:23:36.154] | : . | expr <- as.call(parts) [18:23:36.154] | : . | expr [18:23:36.154] | : . | } [18:23:36.154] | : . | [18:23:36.154] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.155] | : get_transpiler() ... done [18:23:36.155] | : Transpile call expression ... [18:23:36.155] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:36.155] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.155] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:36.156] | : Transpile call expression ... done [18:23:36.156] | : Evaluate transpiled call expression [18:23:36.192] | transpile() ... done [18:23:36.192] futurize() ... done [18:23:36.193] futurize() ... [18:23:36.193] | transpile() ... [18:23:36.193] | : get_transpiler() ... [18:23:36.193] | : . Finding call to be transpiled ... [18:23:36.193] | : . | decend_wrappers() ... [18:23:36.193] | : . | : Call: [18:23:36.194] | : . | : base::sapply [18:23:36.194] | : . | : parse_call() ... [18:23:36.194] | : . | : . Function: base::sapply(...) [18:23:36.194] | : . | : parse_call() ... done [18:23:36.194] | : . | decend_wrappers() ... done [18:23:36.195] | : . | parse_call() ... [18:23:36.195] | : . | : Function: base::sapply(...) [18:23:36.195] | : . | parse_call() ... done [18:23:36.195] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.195] | : . | base::sapply [18:23:36.195] | : . Finding call to be transpiled ... done [18:23:36.196] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.196] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.196] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.196] | : . | Transpiler function: [18:23:36.196] | : . | function (expr, options = NULL) [18:23:36.196] | : . | { [18:23:36.196] | : . | call <- make_call("future_sapply") [18:23:36.196] | : . | fcn <- eval(call) [18:23:36.196] | : . | expr[[1]] <- call [18:23:36.196] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.196] | : . | { [18:23:36.196] | : . | if (length(options) == 0L) return(options) [18:23:36.196] | : . | if (is.null(defaults_base)) { [18:23:36.196] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.196] | : . | } [18:23:36.196] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.196] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.196] | : . | defaults <- defaults[keep] [18:23:36.196] | : . | specified <- attr(options, "specified") [18:23:36.196] | : . | if (length(specified) > 0) { [18:23:36.196] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.196] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.196] | : . | names(options)) [18:23:36.196] | : . | } [18:23:36.196] | : . | specified <- sprintf("future.%s", specified) [18:23:36.196] | : . | names <- setdiff(names(defaults), specified) [18:23:36.196] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.196] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.196] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.196] | : . | options <- options[keep] [18:23:36.196] | : . | options [18:23:36.196] | : . | })(options, fcn)) [18:23:36.196] | : . | expr <- as.call(parts) [18:23:36.196] | : . | expr [18:23:36.196] | : . | } [18:23:36.196] | : . | [18:23:36.197] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.197] | : get_transpiler() ... done [18:23:36.197] | : Transpile call expression ... [18:23:36.198] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:36.198] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:36.198] | : . future.conditions = character(0), future.scheduling = 1, [18:23:36.198] | : . future.label = "future_sapply-%d") [18:23:36.198] | : Transpile call expression ... done [18:23:36.199] | : Evaluate transpiled call expression [18:23:36.234] | transpile() ... done [18:23:36.234] futurize() ... done character(0) [18:23:36.234] futurize() ... [18:23:36.235] | transpile() ... [18:23:36.235] | : get_transpiler() ... [18:23:36.235] | : . Finding call to be transpiled ... [18:23:36.235] | : . | decend_wrappers() ... [18:23:36.235] | : . | : Call: [18:23:36.235] | : . | : base::sapply [18:23:36.236] | : . | : parse_call() ... [18:23:36.236] | : . | : . Function: base::sapply(...) [18:23:36.236] | : . | : parse_call() ... done [18:23:36.236] | : . | decend_wrappers() ... done [18:23:36.236] | : . | parse_call() ... [18:23:36.237] | : . | : Function: base::sapply(...) [18:23:36.237] | : . | parse_call() ... done [18:23:36.237] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.237] | : . | base::sapply [18:23:36.237] | : . Finding call to be transpiled ... done [18:23:36.237] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.238] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.238] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.238] | : . | Transpiler function: [18:23:36.238] | : . | function (expr, options = NULL) [18:23:36.238] | : . | { [18:23:36.238] | : . | call <- make_call("future_sapply") [18:23:36.238] | : . | fcn <- eval(call) [18:23:36.238] | : . | expr[[1]] <- call [18:23:36.238] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.238] | : . | { [18:23:36.238] | : . | if (length(options) == 0L) return(options) [18:23:36.238] | : . | if (is.null(defaults_base)) { [18:23:36.238] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.238] | : . | } [18:23:36.238] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.238] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.238] | : . | defaults <- defaults[keep] [18:23:36.238] | : . | specified <- attr(options, "specified") [18:23:36.238] | : . | if (length(specified) > 0) { [18:23:36.238] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.238] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.238] | : . | names(options)) [18:23:36.238] | : . | } [18:23:36.238] | : . | specified <- sprintf("future.%s", specified) [18:23:36.238] | : . | names <- setdiff(names(defaults), specified) [18:23:36.238] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.238] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.238] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.238] | : . | options <- options[keep] [18:23:36.238] | : . | options [18:23:36.238] | : . | })(options, fcn)) [18:23:36.238] | : . | expr <- as.call(parts) [18:23:36.238] | : . | expr [18:23:36.238] | : . | } [18:23:36.238] | : . | [18:23:36.239] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.239] | : get_transpiler() ... done [18:23:36.239] | : Transpile call expression ... [18:23:36.240] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:36.240] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.240] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:36.240] | : . future.label = "future_sapply-%d") [18:23:36.240] | : Transpile call expression ... done [18:23:36.241] | : Evaluate transpiled call expression [18:23:36.324] | transpile() ... done [18:23:36.324] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, simplify = FALSE), seed = TRUE, flavor = "built-in") [18:23:36.324] futurize() ... [18:23:36.325] | transpile() ... [18:23:36.325] | : get_transpiler() ... [18:23:36.325] | : . Finding call to be transpiled ... [18:23:36.325] | : . | decend_wrappers() ... [18:23:36.325] | : . | : Call: [18:23:36.325] | : . | : base::sapply [18:23:36.326] | : . | : parse_call() ... [18:23:36.326] | : . | : . Function: base::sapply(...) [18:23:36.326] | : . | : parse_call() ... done [18:23:36.326] | : . | decend_wrappers() ... done [18:23:36.326] | : . | parse_call() ... [18:23:36.327] | : . | : Function: base::sapply(...) [18:23:36.327] | : . | parse_call() ... done [18:23:36.327] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.327] | : . | base::sapply [18:23:36.327] | : . Finding call to be transpiled ... done [18:23:36.328] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.328] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.328] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.328] | : . | Transpiler function: [18:23:36.328] | : . | function (expr, options = NULL) [18:23:36.328] | : . | { [18:23:36.328] | : . | call <- make_call("future_sapply") [18:23:36.328] | : . | fcn <- eval(call) [18:23:36.328] | : . | expr[[1]] <- call [18:23:36.328] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.328] | : . | { [18:23:36.328] | : . | if (length(options) == 0L) return(options) [18:23:36.328] | : . | if (is.null(defaults_base)) { [18:23:36.328] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.328] | : . | } [18:23:36.328] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.328] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.328] | : . | defaults <- defaults[keep] [18:23:36.328] | : . | specified <- attr(options, "specified") [18:23:36.328] | : . | if (length(specified) > 0) { [18:23:36.328] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.328] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.328] | : . | names(options)) [18:23:36.328] | : . | } [18:23:36.328] | : . | specified <- sprintf("future.%s", specified) [18:23:36.328] | : . | names <- setdiff(names(defaults), specified) [18:23:36.328] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.328] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.328] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.328] | : . | options <- options[keep] [18:23:36.328] | : . | options [18:23:36.328] | : . | })(options, fcn)) [18:23:36.328] | : . | expr <- as.call(parts) [18:23:36.328] | : . | expr [18:23:36.328] | : . | } [18:23:36.328] | : . | [18:23:36.329] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.329] | : get_transpiler() ... done [18:23:36.329] | : Transpile call expression ... [18:23:36.330] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [18:23:36.330] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.330] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:36.330] | : Transpile call expression ... done [18:23:36.331] | : Evaluate transpiled call expression [18:23:36.367] | transpile() ... done [18:23:36.368] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [18:23:36.368] futurize() ... [18:23:36.369] | transpile() ... [18:23:36.369] | : get_transpiler() ... [18:23:36.369] | : . Finding call to be transpiled ... [18:23:36.369] | : . | decend_wrappers() ... [18:23:36.369] | : . | : Call: [18:23:36.369] | : . | : base::sapply [18:23:36.370] | : . | : parse_call() ... [18:23:36.370] | : . | : . Function: base::sapply(...) [18:23:36.370] | : . | : parse_call() ... done [18:23:36.370] | : . | decend_wrappers() ... done [18:23:36.370] | : . | parse_call() ... [18:23:36.371] | : . | : Function: base::sapply(...) [18:23:36.371] | : . | parse_call() ... done [18:23:36.371] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.371] | : . | base::sapply [18:23:36.371] | : . Finding call to be transpiled ... done [18:23:36.371] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.372] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.372] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.372] | : . | Transpiler function: [18:23:36.372] | : . | function (expr, options = NULL) [18:23:36.372] | : . | { [18:23:36.372] | : . | call <- make_call("future_sapply") [18:23:36.372] | : . | fcn <- eval(call) [18:23:36.372] | : . | expr[[1]] <- call [18:23:36.372] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.372] | : . | { [18:23:36.372] | : . | if (length(options) == 0L) return(options) [18:23:36.372] | : . | if (is.null(defaults_base)) { [18:23:36.372] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.372] | : . | } [18:23:36.372] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.372] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.372] | : . | defaults <- defaults[keep] [18:23:36.372] | : . | specified <- attr(options, "specified") [18:23:36.372] | : . | if (length(specified) > 0) { [18:23:36.372] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.372] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.372] | : . | names(options)) [18:23:36.372] | : . | } [18:23:36.372] | : . | specified <- sprintf("future.%s", specified) [18:23:36.372] | : . | names <- setdiff(names(defaults), specified) [18:23:36.372] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.372] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.372] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.372] | : . | options <- options[keep] [18:23:36.372] | : . | options [18:23:36.372] | : . | })(options, fcn)) [18:23:36.372] | : . | expr <- as.call(parts) [18:23:36.372] | : . | expr [18:23:36.372] | : . | } [18:23:36.372] | : . | [18:23:36.373] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.373] | : get_transpiler() ... done [18:23:36.373] | : Transpile call expression ... [18:23:36.373] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:36.373] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.373] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:36.374] | : Transpile call expression ... done [18:23:36.374] | : Evaluate transpiled call expression [18:23:36.413] | transpile() ... done [18:23:36.414] futurize() ... done [18:23:36.414] futurize() ... [18:23:36.414] | transpile() ... [18:23:36.414] | : get_transpiler() ... [18:23:36.414] | : . Finding call to be transpiled ... [18:23:36.415] | : . | decend_wrappers() ... [18:23:36.415] | : . | : Call: [18:23:36.415] | : . | : base::sapply [18:23:36.415] | : . | : parse_call() ... [18:23:36.415] | : . | : . Function: base::sapply(...) [18:23:36.416] | : . | : parse_call() ... done [18:23:36.416] | : . | decend_wrappers() ... done [18:23:36.416] | : . | parse_call() ... [18:23:36.416] | : . | : Function: base::sapply(...) [18:23:36.416] | : . | parse_call() ... done [18:23:36.416] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.417] | : . | base::sapply [18:23:36.417] | : . Finding call to be transpiled ... done [18:23:36.417] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.417] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.417] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.417] | : . | Transpiler function: [18:23:36.418] | : . | function (expr, options = NULL) [18:23:36.418] | : . | { [18:23:36.418] | : . | call <- make_call("future_sapply") [18:23:36.418] | : . | fcn <- eval(call) [18:23:36.418] | : . | expr[[1]] <- call [18:23:36.418] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.418] | : . | { [18:23:36.418] | : . | if (length(options) == 0L) return(options) [18:23:36.418] | : . | if (is.null(defaults_base)) { [18:23:36.418] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.418] | : . | } [18:23:36.418] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.418] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.418] | : . | defaults <- defaults[keep] [18:23:36.418] | : . | specified <- attr(options, "specified") [18:23:36.418] | : . | if (length(specified) > 0) { [18:23:36.418] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.418] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.418] | : . | names(options)) [18:23:36.418] | : . | } [18:23:36.418] | : . | specified <- sprintf("future.%s", specified) [18:23:36.418] | : . | names <- setdiff(names(defaults), specified) [18:23:36.418] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.418] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.418] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.418] | : . | options <- options[keep] [18:23:36.418] | : . | options [18:23:36.418] | : . | })(options, fcn)) [18:23:36.418] | : . | expr <- as.call(parts) [18:23:36.418] | : . | expr [18:23:36.418] | : . | } [18:23:36.418] | : . | [18:23:36.418] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.418] | : get_transpiler() ... done [18:23:36.419] | : Transpile call expression ... [18:23:36.419] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:36.419] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:36.419] | : . future.conditions = character(0), future.scheduling = 1, [18:23:36.419] | : . future.label = "future_sapply-%d") [18:23:36.420] | : Transpile call expression ... done [18:23:36.420] | : Evaluate transpiled call expression [18:23:36.456] | transpile() ... done [18:23:36.456] futurize() ... done character(0) [18:23:36.456] futurize() ... [18:23:36.456] | transpile() ... [18:23:36.457] | : get_transpiler() ... [18:23:36.457] | : . Finding call to be transpiled ... [18:23:36.457] | : . | decend_wrappers() ... [18:23:36.457] | : . | : Call: [18:23:36.457] | : . | : base::sapply [18:23:36.458] | : . | : parse_call() ... [18:23:36.458] | : . | : . Function: base::sapply(...) [18:23:36.458] | : . | : parse_call() ... done [18:23:36.458] | : . | decend_wrappers() ... done [18:23:36.458] | : . | parse_call() ... [18:23:36.458] | : . | : Function: base::sapply(...) [18:23:36.459] | : . | parse_call() ... done [18:23:36.459] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.459] | : . | base::sapply [18:23:36.459] | : . Finding call to be transpiled ... done [18:23:36.459] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.459] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.460] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.460] | : . | Transpiler function: [18:23:36.460] | : . | function (expr, options = NULL) [18:23:36.460] | : . | { [18:23:36.460] | : . | call <- make_call("future_sapply") [18:23:36.460] | : . | fcn <- eval(call) [18:23:36.460] | : . | expr[[1]] <- call [18:23:36.460] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.460] | : . | { [18:23:36.460] | : . | if (length(options) == 0L) return(options) [18:23:36.460] | : . | if (is.null(defaults_base)) { [18:23:36.460] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.460] | : . | } [18:23:36.460] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.460] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.460] | : . | defaults <- defaults[keep] [18:23:36.460] | : . | specified <- attr(options, "specified") [18:23:36.460] | : . | if (length(specified) > 0) { [18:23:36.460] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.460] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.460] | : . | names(options)) [18:23:36.460] | : . | } [18:23:36.460] | : . | specified <- sprintf("future.%s", specified) [18:23:36.460] | : . | names <- setdiff(names(defaults), specified) [18:23:36.460] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.460] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.460] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.460] | : . | options <- options[keep] [18:23:36.460] | : . | options [18:23:36.460] | : . | })(options, fcn)) [18:23:36.460] | : . | expr <- as.call(parts) [18:23:36.460] | : . | expr [18:23:36.460] | : . | } [18:23:36.460] | : . | [18:23:36.461] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.461] | : get_transpiler() ... done [18:23:36.461] | : Transpile call expression ... [18:23:36.461] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:36.461] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.461] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:36.461] | : . future.label = "future_sapply-%d") [18:23:36.462] | : Transpile call expression ... done [18:23:36.462] | : Evaluate transpiled call expression [18:23:36.542] | transpile() ... done [18:23:36.542] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [18:23:36.543] futurize() ... [18:23:36.543] | transpile() ... [18:23:36.543] | : get_transpiler() ... [18:23:36.543] | : . Finding call to be transpiled ... [18:23:36.543] | : . | decend_wrappers() ... [18:23:36.544] | : . | : Call: [18:23:36.544] | : . | : base::sapply [18:23:36.544] | : . | : parse_call() ... [18:23:36.544] | : . | : . Function: base::sapply(...) [18:23:36.544] | : . | : parse_call() ... done [18:23:36.544] | : . | decend_wrappers() ... done [18:23:36.545] | : . | parse_call() ... [18:23:36.545] | : . | : Function: base::sapply(...) [18:23:36.545] | : . | parse_call() ... done [18:23:36.545] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.545] | : . | base::sapply [18:23:36.546] | : . Finding call to be transpiled ... done [18:23:36.546] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [18:23:36.546] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.546] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [18:23:36.546] | : . | Transpiler function: [18:23:36.546] | : . | function (expr, options = NULL) [18:23:36.546] | : . | { [18:23:36.546] | : . | call <- make_call("future_sapply") [18:23:36.546] | : . | fcn <- eval(call) [18:23:36.546] | : . | expr[[1]] <- call [18:23:36.546] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.546] | : . | { [18:23:36.546] | : . | if (length(options) == 0L) return(options) [18:23:36.546] | : . | if (is.null(defaults_base)) { [18:23:36.546] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.546] | : . | } [18:23:36.546] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.546] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.546] | : . | defaults <- defaults[keep] [18:23:36.546] | : . | specified <- attr(options, "specified") [18:23:36.546] | : . | if (length(specified) > 0) { [18:23:36.546] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.546] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.546] | : . | names(options)) [18:23:36.546] | : . | } [18:23:36.546] | : . | specified <- sprintf("future.%s", specified) [18:23:36.546] | : . | names <- setdiff(names(defaults), specified) [18:23:36.546] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.546] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.546] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.546] | : . | options <- options[keep] [18:23:36.546] | : . | options [18:23:36.546] | : . | })(options, fcn)) [18:23:36.546] | : . | expr <- as.call(parts) [18:23:36.546] | : . | expr [18:23:36.546] | : . | } [18:23:36.546] | : . | [18:23:36.547] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [18:23:36.547] | : get_transpiler() ... done [18:23:36.547] | : Transpile call expression ... [18:23:36.548] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [18:23:36.548] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.548] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [18:23:36.549] | : Transpile call expression ... done [18:23:36.549] | : Evaluate transpiled call expression [18:23:36.589] | transpile() ... done [18:23:36.589] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN) --------------------------------- [18:23:36.590] futurize() ... [18:23:36.590] | transpile() ... [18:23:36.590] | : get_transpiler() ... [18:23:36.590] | : . Finding call to be transpiled ... [18:23:36.590] | : . | decend_wrappers() ... [18:23:36.590] | : . | : Call: [18:23:36.591] | : . | : base::vapply [18:23:36.591] | : . | : parse_call() ... [18:23:36.591] | : . | : . Function: base::vapply(...) [18:23:36.591] | : . | : parse_call() ... done [18:23:36.591] | : . | decend_wrappers() ... done [18:23:36.592] | : . | parse_call() ... [18:23:36.592] | : . | : Function: base::vapply(...) [18:23:36.592] | : . | parse_call() ... done [18:23:36.592] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.592] | : . | base::vapply [18:23:36.592] | : . Finding call to be transpiled ... done [18:23:36.593] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:36.593] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.593] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:36.593] | : . | Transpiler function: [18:23:36.593] | : . | function (expr, options = NULL) [18:23:36.593] | : . | { [18:23:36.593] | : . | call <- make_call("future_vapply") [18:23:36.593] | : . | fcn <- eval(call) [18:23:36.593] | : . | expr[[1]] <- call [18:23:36.593] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.593] | : . | { [18:23:36.593] | : . | if (length(options) == 0L) return(options) [18:23:36.593] | : . | if (is.null(defaults_base)) { [18:23:36.593] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.593] | : . | } [18:23:36.593] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.593] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.593] | : . | defaults <- defaults[keep] [18:23:36.593] | : . | specified <- attr(options, "specified") [18:23:36.593] | : . | if (length(specified) > 0) { [18:23:36.593] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.593] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.593] | : . | names(options)) [18:23:36.593] | : . | } [18:23:36.593] | : . | specified <- sprintf("future.%s", specified) [18:23:36.593] | : . | names <- setdiff(names(defaults), specified) [18:23:36.593] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.593] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.593] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.593] | : . | options <- options[keep] [18:23:36.593] | : . | options [18:23:36.593] | : . | })(options, fcn)) [18:23:36.593] | : . | expr <- as.call(parts) [18:23:36.593] | : . | expr [18:23:36.593] | : . | } [18:23:36.593] | : . | [18:23:36.594] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:36.594] | : get_transpiler() ... done [18:23:36.594] | : Transpile call expression ... [18:23:36.595] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:36.595] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.595] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [18:23:36.595] | : Transpile call expression ... done [18:23:36.596] | : Evaluate transpiled call expression [18:23:36.657] | transpile() ... done [18:23:36.658] futurize() ... done [18:23:36.658] futurize() ... [18:23:36.658] | transpile() ... [18:23:36.658] | : get_transpiler() ... [18:23:36.658] | : . Finding call to be transpiled ... [18:23:36.659] | : . | decend_wrappers() ... [18:23:36.659] | : . | : Call: [18:23:36.659] | : . | : base::vapply [18:23:36.659] | : . | : parse_call() ... [18:23:36.659] | : . | : . Function: base::vapply(...) [18:23:36.659] | : . | : parse_call() ... done [18:23:36.660] | : . | decend_wrappers() ... done [18:23:36.660] | : . | parse_call() ... [18:23:36.660] | : . | : Function: base::vapply(...) [18:23:36.660] | : . | parse_call() ... done [18:23:36.660] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.660] | : . | base::vapply [18:23:36.661] | : . Finding call to be transpiled ... done [18:23:36.661] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:36.661] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.661] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:36.661] | : . | Transpiler function: [18:23:36.662] | : . | function (expr, options = NULL) [18:23:36.662] | : . | { [18:23:36.662] | : . | call <- make_call("future_vapply") [18:23:36.662] | : . | fcn <- eval(call) [18:23:36.662] | : . | expr[[1]] <- call [18:23:36.662] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.662] | : . | { [18:23:36.662] | : . | if (length(options) == 0L) return(options) [18:23:36.662] | : . | if (is.null(defaults_base)) { [18:23:36.662] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.662] | : . | } [18:23:36.662] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.662] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.662] | : . | defaults <- defaults[keep] [18:23:36.662] | : . | specified <- attr(options, "specified") [18:23:36.662] | : . | if (length(specified) > 0) { [18:23:36.662] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.662] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.662] | : . | names(options)) [18:23:36.662] | : . | } [18:23:36.662] | : . | specified <- sprintf("future.%s", specified) [18:23:36.662] | : . | names <- setdiff(names(defaults), specified) [18:23:36.662] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.662] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.662] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.662] | : . | options <- options[keep] [18:23:36.662] | : . | options [18:23:36.662] | : . | })(options, fcn)) [18:23:36.662] | : . | expr <- as.call(parts) [18:23:36.662] | : . | expr [18:23:36.662] | : . | } [18:23:36.662] | : . | [18:23:36.662] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:36.662] | : get_transpiler() ... done [18:23:36.663] | : Transpile call expression ... [18:23:36.663] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:36.663] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:36.663] | : . future.conditions = character(0), future.scheduling = 1, [18:23:36.663] | : . future.label = "future_vapply-%d") [18:23:36.664] | : Transpile call expression ... done [18:23:36.664] | : Evaluate transpiled call expression [18:23:36.725] | transpile() ... done [18:23:36.725] futurize() ... done character(0) [18:23:36.725] futurize() ... [18:23:36.725] | transpile() ... [18:23:36.725] | : get_transpiler() ... [18:23:36.726] | : . Finding call to be transpiled ... [18:23:36.726] | : . | decend_wrappers() ... [18:23:36.726] | : . | : Call: [18:23:36.726] | : . | : base::vapply [18:23:36.726] | : . | : parse_call() ... [18:23:36.727] | : . | : . Function: base::vapply(...) [18:23:36.727] | : . | : parse_call() ... done [18:23:36.727] | : . | decend_wrappers() ... done [18:23:36.727] | : . | parse_call() ... [18:23:36.727] | : . | : Function: base::vapply(...) [18:23:36.727] | : . | parse_call() ... done [18:23:36.728] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.728] | : . | base::vapply [18:23:36.728] | : . Finding call to be transpiled ... done [18:23:36.728] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:36.728] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.729] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:36.729] | : . | Transpiler function: [18:23:36.729] | : . | function (expr, options = NULL) [18:23:36.729] | : . | { [18:23:36.729] | : . | call <- make_call("future_vapply") [18:23:36.729] | : . | fcn <- eval(call) [18:23:36.729] | : . | expr[[1]] <- call [18:23:36.729] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.729] | : . | { [18:23:36.729] | : . | if (length(options) == 0L) return(options) [18:23:36.729] | : . | if (is.null(defaults_base)) { [18:23:36.729] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.729] | : . | } [18:23:36.729] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.729] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.729] | : . | defaults <- defaults[keep] [18:23:36.729] | : . | specified <- attr(options, "specified") [18:23:36.729] | : . | if (length(specified) > 0) { [18:23:36.729] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.729] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.729] | : . | names(options)) [18:23:36.729] | : . | } [18:23:36.729] | : . | specified <- sprintf("future.%s", specified) [18:23:36.729] | : . | names <- setdiff(names(defaults), specified) [18:23:36.729] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.729] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.729] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.729] | : . | options <- options[keep] [18:23:36.729] | : . | options [18:23:36.729] | : . | })(options, fcn)) [18:23:36.729] | : . | expr <- as.call(parts) [18:23:36.729] | : . | expr [18:23:36.729] | : . | } [18:23:36.729] | : . | [18:23:36.729] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:36.730] | : get_transpiler() ... done [18:23:36.730] | : Transpile call expression ... [18:23:36.730] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:36.730] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.730] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:36.730] | : . future.label = "future_vapply-%d") [18:23:36.731] | : Transpile call expression ... done [18:23:36.731] | : Evaluate transpiled call expression [18:23:36.839] | transpile() ... done [18:23:36.840] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN), seed = TRUE, flavor = "built-in") [18:23:36.840] futurize() ... [18:23:36.840] | transpile() ... [18:23:36.840] | : get_transpiler() ... [18:23:36.840] | : . Finding call to be transpiled ... [18:23:36.841] | : . | decend_wrappers() ... [18:23:36.841] | : . | : Call: [18:23:36.841] | : . | : base::vapply [18:23:36.841] | : . | : parse_call() ... [18:23:36.841] | : . | : . Function: base::vapply(...) [18:23:36.842] | : . | : parse_call() ... done [18:23:36.842] | : . | decend_wrappers() ... done [18:23:36.842] | : . | parse_call() ... [18:23:36.842] | : . | : Function: base::vapply(...) [18:23:36.842] | : . | parse_call() ... done [18:23:36.842] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.843] | : . | base::vapply [18:23:36.843] | : . Finding call to be transpiled ... done [18:23:36.843] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:36.843] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.843] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:36.843] | : . | Transpiler function: [18:23:36.844] | : . | function (expr, options = NULL) [18:23:36.844] | : . | { [18:23:36.844] | : . | call <- make_call("future_vapply") [18:23:36.844] | : . | fcn <- eval(call) [18:23:36.844] | : . | expr[[1]] <- call [18:23:36.844] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.844] | : . | { [18:23:36.844] | : . | if (length(options) == 0L) return(options) [18:23:36.844] | : . | if (is.null(defaults_base)) { [18:23:36.844] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.844] | : . | } [18:23:36.844] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.844] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.844] | : . | defaults <- defaults[keep] [18:23:36.844] | : . | specified <- attr(options, "specified") [18:23:36.844] | : . | if (length(specified) > 0) { [18:23:36.844] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.844] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.844] | : . | names(options)) [18:23:36.844] | : . | } [18:23:36.844] | : . | specified <- sprintf("future.%s", specified) [18:23:36.844] | : . | names <- setdiff(names(defaults), specified) [18:23:36.844] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.844] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.844] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.844] | : . | options <- options[keep] [18:23:36.844] | : . | options [18:23:36.844] | : . | })(options, fcn)) [18:23:36.844] | : . | expr <- as.call(parts) [18:23:36.844] | : . | expr [18:23:36.844] | : . | } [18:23:36.844] | : . | [18:23:36.844] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:36.844] | : get_transpiler() ... done [18:23:36.845] | : Transpile call expression ... [18:23:36.845] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:36.845] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:36.845] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [18:23:36.846] | : Transpile call expression ... done [18:23:36.846] | : Evaluate transpiled call expression [18:23:36.912] | transpile() ... done [18:23:36.912] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [18:23:36.913] futurize() ... [18:23:36.913] | transpile() ... [18:23:36.913] | : get_transpiler() ... [18:23:36.913] | : . Finding call to be transpiled ... [18:23:36.914] | : . | decend_wrappers() ... [18:23:36.914] | : . | : Call: [18:23:36.914] | : . | : base::vapply [18:23:36.914] | : . | : parse_call() ... [18:23:36.914] | : . | : . Function: base::vapply(...) [18:23:36.914] | : . | : parse_call() ... done [18:23:36.915] | : . | decend_wrappers() ... done [18:23:36.915] | : . | parse_call() ... [18:23:36.915] | : . | : Function: base::vapply(...) [18:23:36.915] | : . | parse_call() ... done [18:23:36.915] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.915] | : . | base::vapply [18:23:36.916] | : . Finding call to be transpiled ... done [18:23:36.916] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:36.916] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.916] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:36.916] | : . | Transpiler function: [18:23:36.917] | : . | function (expr, options = NULL) [18:23:36.917] | : . | { [18:23:36.917] | : . | call <- make_call("future_vapply") [18:23:36.917] | : . | fcn <- eval(call) [18:23:36.917] | : . | expr[[1]] <- call [18:23:36.917] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.917] | : . | { [18:23:36.917] | : . | if (length(options) == 0L) return(options) [18:23:36.917] | : . | if (is.null(defaults_base)) { [18:23:36.917] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.917] | : . | } [18:23:36.917] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.917] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.917] | : . | defaults <- defaults[keep] [18:23:36.917] | : . | specified <- attr(options, "specified") [18:23:36.917] | : . | if (length(specified) > 0) { [18:23:36.917] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.917] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.917] | : . | names(options)) [18:23:36.917] | : . | } [18:23:36.917] | : . | specified <- sprintf("future.%s", specified) [18:23:36.917] | : . | names <- setdiff(names(defaults), specified) [18:23:36.917] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.917] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.917] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.917] | : . | options <- options[keep] [18:23:36.917] | : . | options [18:23:36.917] | : . | })(options, fcn)) [18:23:36.917] | : . | expr <- as.call(parts) [18:23:36.917] | : . | expr [18:23:36.917] | : . | } [18:23:36.917] | : . | [18:23:36.917] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:36.917] | : get_transpiler() ... done [18:23:36.918] | : Transpile call expression ... [18:23:36.918] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:36.918] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [18:23:36.918] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:36.918] | : . future.label = "future_vapply-%d") [18:23:36.919] | : Transpile call expression ... done [18:23:36.919] | : Evaluate transpiled call expression [18:23:36.981] | transpile() ... done [18:23:36.981] futurize() ... done [18:23:36.982] futurize() ... [18:23:36.982] | transpile() ... [18:23:36.982] | : get_transpiler() ... [18:23:36.982] | : . Finding call to be transpiled ... [18:23:36.982] | : . | decend_wrappers() ... [18:23:36.983] | : . | : Call: [18:23:36.983] | : . | : base::vapply [18:23:36.983] | : . | : parse_call() ... [18:23:36.983] | : . | : . Function: base::vapply(...) [18:23:36.983] | : . | : parse_call() ... done [18:23:36.983] | : . | decend_wrappers() ... done [18:23:36.984] | : . | parse_call() ... [18:23:36.984] | : . | : Function: base::vapply(...) [18:23:36.984] | : . | parse_call() ... done [18:23:36.984] | : . | Position of call to be transpiled in expression: c(1) [18:23:36.984] | : . | base::vapply [18:23:36.985] | : . Finding call to be transpiled ... done [18:23:36.985] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:36.985] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:36.985] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:36.985] | : . | Transpiler function: [18:23:36.985] | : . | function (expr, options = NULL) [18:23:36.985] | : . | { [18:23:36.985] | : . | call <- make_call("future_vapply") [18:23:36.985] | : . | fcn <- eval(call) [18:23:36.985] | : . | expr[[1]] <- call [18:23:36.985] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:36.985] | : . | { [18:23:36.985] | : . | if (length(options) == 0L) return(options) [18:23:36.985] | : . | if (is.null(defaults_base)) { [18:23:36.985] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:36.985] | : . | } [18:23:36.985] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:36.985] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:36.985] | : . | defaults <- defaults[keep] [18:23:36.985] | : . | specified <- attr(options, "specified") [18:23:36.985] | : . | if (length(specified) > 0) { [18:23:36.985] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:36.985] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:36.985] | : . | names(options)) [18:23:36.985] | : . | } [18:23:36.985] | : . | specified <- sprintf("future.%s", specified) [18:23:36.985] | : . | names <- setdiff(names(defaults), specified) [18:23:36.985] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:36.985] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:36.985] | : . | keep <- intersect(names(options), names(defaults)) [18:23:36.985] | : . | options <- options[keep] [18:23:36.985] | : . | options [18:23:36.985] | : . | })(options, fcn)) [18:23:36.985] | : . | expr <- as.call(parts) [18:23:36.985] | : . | expr [18:23:36.985] | : . | } [18:23:36.985] | : . | [18:23:36.986] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:36.986] | : get_transpiler() ... done [18:23:36.986] | : Transpile call expression ... [18:23:36.987] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:36.987] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [18:23:36.987] | : . future.stdout = FALSE, future.conditions = character(0), [18:23:36.987] | : . future.scheduling = 1, future.label = "future_vapply-%d") [18:23:36.988] | : Transpile call expression ... done [18:23:36.988] | : Evaluate transpiled call expression [18:23:37.048] | transpile() ... done [18:23:37.048] futurize() ... done character(0) [18:23:37.049] futurize() ... [18:23:37.049] | transpile() ... [18:23:37.049] | : get_transpiler() ... [18:23:37.049] | : . Finding call to be transpiled ... [18:23:37.049] | : . | decend_wrappers() ... [18:23:37.049] | : . | : Call: [18:23:37.050] | : . | : base::vapply [18:23:37.050] | : . | : parse_call() ... [18:23:37.050] | : . | : . Function: base::vapply(...) [18:23:37.050] | : . | : parse_call() ... done [18:23:37.050] | : . | decend_wrappers() ... done [18:23:37.051] | : . | parse_call() ... [18:23:37.051] | : . | : Function: base::vapply(...) [18:23:37.051] | : . | parse_call() ... done [18:23:37.051] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.051] | : . | base::vapply [18:23:37.052] | : . Finding call to be transpiled ... done [18:23:37.052] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:37.052] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.052] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:37.052] | : . | Transpiler function: [18:23:37.052] | : . | function (expr, options = NULL) [18:23:37.052] | : . | { [18:23:37.052] | : . | call <- make_call("future_vapply") [18:23:37.052] | : . | fcn <- eval(call) [18:23:37.052] | : . | expr[[1]] <- call [18:23:37.052] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.052] | : . | { [18:23:37.052] | : . | if (length(options) == 0L) return(options) [18:23:37.052] | : . | if (is.null(defaults_base)) { [18:23:37.052] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.052] | : . | } [18:23:37.052] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.052] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.052] | : . | defaults <- defaults[keep] [18:23:37.052] | : . | specified <- attr(options, "specified") [18:23:37.052] | : . | if (length(specified) > 0) { [18:23:37.052] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.052] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.052] | : . | names(options)) [18:23:37.052] | : . | } [18:23:37.052] | : . | specified <- sprintf("future.%s", specified) [18:23:37.052] | : . | names <- setdiff(names(defaults), specified) [18:23:37.052] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.052] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.052] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.052] | : . | options <- options[keep] [18:23:37.052] | : . | options [18:23:37.052] | : . | })(options, fcn)) [18:23:37.052] | : . | expr <- as.call(parts) [18:23:37.052] | : . | expr [18:23:37.052] | : . | } [18:23:37.052] | : . | [18:23:37.053] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:37.053] | : get_transpiler() ... done [18:23:37.053] | : Transpile call expression ... [18:23:37.054] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:37.054] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [18:23:37.054] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:37.054] | : . future.chunk.size = 1L, future.label = "future_vapply-%d") [18:23:37.055] | : Transpile call expression ... done [18:23:37.055] | : Evaluate transpiled call expression [18:23:37.167] | transpile() ... done [18:23:37.168] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [18:23:37.168] futurize() ... [18:23:37.168] | transpile() ... [18:23:37.168] | : get_transpiler() ... [18:23:37.168] | : . Finding call to be transpiled ... [18:23:37.169] | : . | decend_wrappers() ... [18:23:37.169] | : . | : Call: [18:23:37.169] | : . | : base::vapply [18:23:37.169] | : . | : parse_call() ... [18:23:37.169] | : . | : . Function: base::vapply(...) [18:23:37.170] | : . | : parse_call() ... done [18:23:37.170] | : . | decend_wrappers() ... done [18:23:37.170] | : . | parse_call() ... [18:23:37.170] | : . | : Function: base::vapply(...) [18:23:37.170] | : . | parse_call() ... done [18:23:37.170] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.171] | : . | base::vapply [18:23:37.171] | : . Finding call to be transpiled ... done [18:23:37.171] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [18:23:37.171] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.171] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [18:23:37.171] | : . | Transpiler function: [18:23:37.172] | : . | function (expr, options = NULL) [18:23:37.172] | : . | { [18:23:37.172] | : . | call <- make_call("future_vapply") [18:23:37.172] | : . | fcn <- eval(call) [18:23:37.172] | : . | expr[[1]] <- call [18:23:37.172] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.172] | : . | { [18:23:37.172] | : . | if (length(options) == 0L) return(options) [18:23:37.172] | : . | if (is.null(defaults_base)) { [18:23:37.172] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.172] | : . | } [18:23:37.172] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.172] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.172] | : . | defaults <- defaults[keep] [18:23:37.172] | : . | specified <- attr(options, "specified") [18:23:37.172] | : . | if (length(specified) > 0) { [18:23:37.172] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.172] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.172] | : . | names(options)) [18:23:37.172] | : . | } [18:23:37.172] | : . | specified <- sprintf("future.%s", specified) [18:23:37.172] | : . | names <- setdiff(names(defaults), specified) [18:23:37.172] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.172] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.172] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.172] | : . | options <- options[keep] [18:23:37.172] | : . | options [18:23:37.172] | : . | })(options, fcn)) [18:23:37.172] | : . | expr <- as.call(parts) [18:23:37.172] | : . | expr [18:23:37.172] | : . | } [18:23:37.172] | : . | [18:23:37.172] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [18:23:37.172] | : get_transpiler() ... done [18:23:37.173] | : Transpile call expression ... [18:23:37.173] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [18:23:37.173] | : . USE.NAMES = FALSE, future.seed = TRUE, future.globals = TRUE, [18:23:37.173] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [18:23:37.173] | : . future.label = "future_vapply-%d") [18:23:37.174] | : Transpile call expression ... done [18:23:37.174] | : Evaluate transpiled call expression [18:23:37.241] | transpile() ... done [18:23:37.242] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN) --------------------------------- [18:23:37.242] futurize() ... [18:23:37.243] | transpile() ... [18:23:37.243] | : get_transpiler() ... [18:23:37.243] | : . Finding call to be transpiled ... [18:23:37.243] | : . | decend_wrappers() ... [18:23:37.243] | : . | : Call: [18:23:37.243] | : . | : base::eapply [18:23:37.244] | : . | : parse_call() ... [18:23:37.244] | : . | : . Function: base::eapply(...) [18:23:37.244] | : . | : parse_call() ... done [18:23:37.244] | : . | decend_wrappers() ... done [18:23:37.244] | : . | parse_call() ... [18:23:37.244] | : . | : Function: base::eapply(...) [18:23:37.245] | : . | parse_call() ... done [18:23:37.245] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.245] | : . | base::eapply [18:23:37.245] | : . Finding call to be transpiled ... done [18:23:37.245] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.246] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.246] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.246] | : . | Transpiler function: [18:23:37.246] | : . | function (expr, options = NULL) [18:23:37.246] | : . | { [18:23:37.246] | : . | call <- make_call("future_eapply") [18:23:37.246] | : . | fcn <- eval(call) [18:23:37.246] | : . | expr[[1]] <- call [18:23:37.246] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.246] | : . | { [18:23:37.246] | : . | if (length(options) == 0L) return(options) [18:23:37.246] | : . | if (is.null(defaults_base)) { [18:23:37.246] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.246] | : . | } [18:23:37.246] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.246] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.246] | : . | defaults <- defaults[keep] [18:23:37.246] | : . | specified <- attr(options, "specified") [18:23:37.246] | : . | if (length(specified) > 0) { [18:23:37.246] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.246] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.246] | : . | names(options)) [18:23:37.246] | : . | } [18:23:37.246] | : . | specified <- sprintf("future.%s", specified) [18:23:37.246] | : . | names <- setdiff(names(defaults), specified) [18:23:37.246] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.246] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.246] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.246] | : . | options <- options[keep] [18:23:37.246] | : . | options [18:23:37.246] | : . | })(options, fcn)) [18:23:37.246] | : . | expr <- as.call(parts) [18:23:37.246] | : . | expr [18:23:37.246] | : . | } [18:23:37.246] | : . | [18:23:37.247] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.247] | : get_transpiler() ... done [18:23:37.247] | : Transpile call expression ... [18:23:37.247] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [18:23:37.247] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:37.247] | : . future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.248] | : Transpile call expression ... done [18:23:37.248] | : Evaluate transpiled call expression [18:23:37.282] | transpile() ... done [18:23:37.282] futurize() ... done [18:23:37.283] futurize() ... [18:23:37.283] | transpile() ... [18:23:37.283] | : get_transpiler() ... [18:23:37.283] | : . Finding call to be transpiled ... [18:23:37.283] | : . | decend_wrappers() ... [18:23:37.283] | : . | : Call: [18:23:37.284] | : . | : base::eapply [18:23:37.284] | : . | : parse_call() ... [18:23:37.284] | : . | : . Function: base::eapply(...) [18:23:37.284] | : . | : parse_call() ... done [18:23:37.284] | : . | decend_wrappers() ... done [18:23:37.285] | : . | parse_call() ... [18:23:37.285] | : . | : Function: base::eapply(...) [18:23:37.285] | : . | parse_call() ... done [18:23:37.285] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.285] | : . | base::eapply [18:23:37.285] | : . Finding call to be transpiled ... done [18:23:37.286] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.286] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.286] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.286] | : . | Transpiler function: [18:23:37.286] | : . | function (expr, options = NULL) [18:23:37.286] | : . | { [18:23:37.286] | : . | call <- make_call("future_eapply") [18:23:37.286] | : . | fcn <- eval(call) [18:23:37.286] | : . | expr[[1]] <- call [18:23:37.286] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.286] | : . | { [18:23:37.286] | : . | if (length(options) == 0L) return(options) [18:23:37.286] | : . | if (is.null(defaults_base)) { [18:23:37.286] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.286] | : . | } [18:23:37.286] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.286] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.286] | : . | defaults <- defaults[keep] [18:23:37.286] | : . | specified <- attr(options, "specified") [18:23:37.286] | : . | if (length(specified) > 0) { [18:23:37.286] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.286] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.286] | : . | names(options)) [18:23:37.286] | : . | } [18:23:37.286] | : . | specified <- sprintf("future.%s", specified) [18:23:37.286] | : . | names <- setdiff(names(defaults), specified) [18:23:37.286] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.286] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.286] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.286] | : . | options <- options[keep] [18:23:37.286] | : . | options [18:23:37.286] | : . | })(options, fcn)) [18:23:37.286] | : . | expr <- as.call(parts) [18:23:37.286] | : . | expr [18:23:37.286] | : . | } [18:23:37.286] | : . | [18:23:37.287] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.287] | : get_transpiler() ... done [18:23:37.287] | : Transpile call expression ... [18:23:37.288] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [18:23:37.288] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [18:23:37.288] | : . future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.289] | : Transpile call expression ... done [18:23:37.289] | : Evaluate transpiled call expression [18:23:37.324] | transpile() ... done [18:23:37.324] futurize() ... done character(0) [18:23:37.325] futurize() ... [18:23:37.325] | transpile() ... [18:23:37.325] | : get_transpiler() ... [18:23:37.325] | : . Finding call to be transpiled ... [18:23:37.325] | : . | decend_wrappers() ... [18:23:37.326] | : . | : Call: [18:23:37.326] | : . | : base::eapply [18:23:37.326] | : . | : parse_call() ... [18:23:37.326] | : . | : . Function: base::eapply(...) [18:23:37.326] | : . | : parse_call() ... done [18:23:37.327] | : . | decend_wrappers() ... done [18:23:37.327] | : . | parse_call() ... [18:23:37.327] | : . | : Function: base::eapply(...) [18:23:37.327] | : . | parse_call() ... done [18:23:37.327] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.327] | : . | base::eapply [18:23:37.328] | : . Finding call to be transpiled ... done [18:23:37.328] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.328] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.328] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.328] | : . | Transpiler function: [18:23:37.328] | : . | function (expr, options = NULL) [18:23:37.328] | : . | { [18:23:37.328] | : . | call <- make_call("future_eapply") [18:23:37.328] | : . | fcn <- eval(call) [18:23:37.328] | : . | expr[[1]] <- call [18:23:37.328] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.328] | : . | { [18:23:37.328] | : . | if (length(options) == 0L) return(options) [18:23:37.328] | : . | if (is.null(defaults_base)) { [18:23:37.328] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.328] | : . | } [18:23:37.328] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.328] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.328] | : . | defaults <- defaults[keep] [18:23:37.328] | : . | specified <- attr(options, "specified") [18:23:37.328] | : . | if (length(specified) > 0) { [18:23:37.328] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.328] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.328] | : . | names(options)) [18:23:37.328] | : . | } [18:23:37.328] | : . | specified <- sprintf("future.%s", specified) [18:23:37.328] | : . | names <- setdiff(names(defaults), specified) [18:23:37.328] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.328] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.328] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.328] | : . | options <- options[keep] [18:23:37.328] | : . | options [18:23:37.328] | : . | })(options, fcn)) [18:23:37.328] | : . | expr <- as.call(parts) [18:23:37.328] | : . | expr [18:23:37.328] | : . | } [18:23:37.328] | : . | [18:23:37.329] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.329] | : get_transpiler() ... done [18:23:37.329] | : Transpile call expression ... [18:23:37.330] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [18:23:37.330] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:37.330] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_eapply-%d") [18:23:37.331] | : Transpile call expression ... done [18:23:37.331] | : Evaluate transpiled call expression [18:23:37.404] | transpile() ... done [18:23:37.404] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN), seed = TRUE, flavor = "built-in") [18:23:37.405] futurize() ... [18:23:37.405] | transpile() ... [18:23:37.405] | : get_transpiler() ... [18:23:37.405] | : . Finding call to be transpiled ... [18:23:37.405] | : . | decend_wrappers() ... [18:23:37.405] | : . | : Call: [18:23:37.406] | : . | : base::eapply [18:23:37.406] | : . | : parse_call() ... [18:23:37.406] | : . | : . Function: base::eapply(...) [18:23:37.406] | : . | : parse_call() ... done [18:23:37.406] | : . | decend_wrappers() ... done [18:23:37.407] | : . | parse_call() ... [18:23:37.407] | : . | : Function: base::eapply(...) [18:23:37.407] | : . | parse_call() ... done [18:23:37.407] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.407] | : . | base::eapply [18:23:37.407] | : . Finding call to be transpiled ... done [18:23:37.408] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.408] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.408] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.408] | : . | Transpiler function: [18:23:37.408] | : . | function (expr, options = NULL) [18:23:37.408] | : . | { [18:23:37.408] | : . | call <- make_call("future_eapply") [18:23:37.408] | : . | fcn <- eval(call) [18:23:37.408] | : . | expr[[1]] <- call [18:23:37.408] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.408] | : . | { [18:23:37.408] | : . | if (length(options) == 0L) return(options) [18:23:37.408] | : . | if (is.null(defaults_base)) { [18:23:37.408] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.408] | : . | } [18:23:37.408] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.408] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.408] | : . | defaults <- defaults[keep] [18:23:37.408] | : . | specified <- attr(options, "specified") [18:23:37.408] | : . | if (length(specified) > 0) { [18:23:37.408] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.408] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.408] | : . | names(options)) [18:23:37.408] | : . | } [18:23:37.408] | : . | specified <- sprintf("future.%s", specified) [18:23:37.408] | : . | names <- setdiff(names(defaults), specified) [18:23:37.408] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.408] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.408] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.408] | : . | options <- options[keep] [18:23:37.408] | : . | options [18:23:37.408] | : . | })(options, fcn)) [18:23:37.408] | : . | expr <- as.call(parts) [18:23:37.408] | : . | expr [18:23:37.408] | : . | } [18:23:37.408] | : . | [18:23:37.409] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.409] | : get_transpiler() ... done [18:23:37.409] | : Transpile call expression ... [18:23:37.410] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = TRUE, [18:23:37.410] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:37.410] | : . future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.411] | : Transpile call expression ... done [18:23:37.411] | : Evaluate transpiled call expression [18:23:37.449] | transpile() ... done [18:23:37.449] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, all.names = TRUE) --------------------------------- [18:23:37.450] futurize() ... [18:23:37.450] | transpile() ... [18:23:37.450] | : get_transpiler() ... [18:23:37.450] | : . Finding call to be transpiled ... [18:23:37.450] | : . | decend_wrappers() ... [18:23:37.450] | : . | : Call: [18:23:37.451] | : . | : base::eapply [18:23:37.451] | : . | : parse_call() ... [18:23:37.451] | : . | : . Function: base::eapply(...) [18:23:37.451] | : . | : parse_call() ... done [18:23:37.451] | : . | decend_wrappers() ... done [18:23:37.452] | : . | parse_call() ... [18:23:37.452] | : . | : Function: base::eapply(...) [18:23:37.452] | : . | parse_call() ... done [18:23:37.452] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.452] | : . | base::eapply [18:23:37.452] | : . Finding call to be transpiled ... done [18:23:37.453] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.453] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.453] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.453] | : . | Transpiler function: [18:23:37.453] | : . | function (expr, options = NULL) [18:23:37.453] | : . | { [18:23:37.453] | : . | call <- make_call("future_eapply") [18:23:37.453] | : . | fcn <- eval(call) [18:23:37.453] | : . | expr[[1]] <- call [18:23:37.453] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.453] | : . | { [18:23:37.453] | : . | if (length(options) == 0L) return(options) [18:23:37.453] | : . | if (is.null(defaults_base)) { [18:23:37.453] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.453] | : . | } [18:23:37.453] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.453] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.453] | : . | defaults <- defaults[keep] [18:23:37.453] | : . | specified <- attr(options, "specified") [18:23:37.453] | : . | if (length(specified) > 0) { [18:23:37.453] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.453] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.453] | : . | names(options)) [18:23:37.453] | : . | } [18:23:37.453] | : . | specified <- sprintf("future.%s", specified) [18:23:37.453] | : . | names <- setdiff(names(defaults), specified) [18:23:37.453] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.453] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.453] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.453] | : . | options <- options[keep] [18:23:37.453] | : . | options [18:23:37.453] | : . | })(options, fcn)) [18:23:37.453] | : . | expr <- as.call(parts) [18:23:37.453] | : . | expr [18:23:37.453] | : . | } [18:23:37.453] | : . | [18:23:37.454] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.454] | : get_transpiler() ... done [18:23:37.454] | : Transpile call expression ... [18:23:37.455] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:37.455] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:37.455] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.458] | : Transpile call expression ... done [18:23:37.458] | : Evaluate transpiled call expression [18:23:37.494] | transpile() ... done [18:23:37.494] futurize() ... done [18:23:37.495] futurize() ... [18:23:37.495] | transpile() ... [18:23:37.495] | : get_transpiler() ... [18:23:37.495] | : . Finding call to be transpiled ... [18:23:37.495] | : . | decend_wrappers() ... [18:23:37.496] | : . | : Call: [18:23:37.496] | : . | : base::eapply [18:23:37.496] | : . | : parse_call() ... [18:23:37.496] | : . | : . Function: base::eapply(...) [18:23:37.496] | : . | : parse_call() ... done [18:23:37.497] | : . | decend_wrappers() ... done [18:23:37.497] | : . | parse_call() ... [18:23:37.497] | : . | : Function: base::eapply(...) [18:23:37.497] | : . | parse_call() ... done [18:23:37.497] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.497] | : . | base::eapply [18:23:37.498] | : . Finding call to be transpiled ... done [18:23:37.498] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.498] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.498] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.498] | : . | Transpiler function: [18:23:37.499] | : . | function (expr, options = NULL) [18:23:37.499] | : . | { [18:23:37.499] | : . | call <- make_call("future_eapply") [18:23:37.499] | : . | fcn <- eval(call) [18:23:37.499] | : . | expr[[1]] <- call [18:23:37.499] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.499] | : . | { [18:23:37.499] | : . | if (length(options) == 0L) return(options) [18:23:37.499] | : . | if (is.null(defaults_base)) { [18:23:37.499] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.499] | : . | } [18:23:37.499] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.499] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.499] | : . | defaults <- defaults[keep] [18:23:37.499] | : . | specified <- attr(options, "specified") [18:23:37.499] | : . | if (length(specified) > 0) { [18:23:37.499] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.499] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.499] | : . | names(options)) [18:23:37.499] | : . | } [18:23:37.499] | : . | specified <- sprintf("future.%s", specified) [18:23:37.499] | : . | names <- setdiff(names(defaults), specified) [18:23:37.499] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.499] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.499] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.499] | : . | options <- options[keep] [18:23:37.499] | : . | options [18:23:37.499] | : . | })(options, fcn)) [18:23:37.499] | : . | expr <- as.call(parts) [18:23:37.499] | : . | expr [18:23:37.499] | : . | } [18:23:37.499] | : . | [18:23:37.499] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.500] | : get_transpiler() ... done [18:23:37.500] | : Transpile call expression ... [18:23:37.500] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:37.500] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:37.500] | : . future.conditions = character(0), future.scheduling = 1, [18:23:37.500] | : . future.label = "future_eapply-%d") [18:23:37.501] | : Transpile call expression ... done [18:23:37.501] | : Evaluate transpiled call expression [18:23:37.539] | transpile() ... done [18:23:37.539] futurize() ... done character(0) [18:23:37.539] futurize() ... [18:23:37.539] | transpile() ... [18:23:37.539] | : get_transpiler() ... [18:23:37.540] | : . Finding call to be transpiled ... [18:23:37.540] | : . | decend_wrappers() ... [18:23:37.540] | : . | : Call: [18:23:37.540] | : . | : base::eapply [18:23:37.540] | : . | : parse_call() ... [18:23:37.541] | : . | : . Function: base::eapply(...) [18:23:37.541] | : . | : parse_call() ... done [18:23:37.541] | : . | decend_wrappers() ... done [18:23:37.541] | : . | parse_call() ... [18:23:37.541] | : . | : Function: base::eapply(...) [18:23:37.541] | : . | parse_call() ... done [18:23:37.542] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.542] | : . | base::eapply [18:23:37.542] | : . Finding call to be transpiled ... done [18:23:37.542] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.542] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.542] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.543] | : . | Transpiler function: [18:23:37.543] | : . | function (expr, options = NULL) [18:23:37.543] | : . | { [18:23:37.543] | : . | call <- make_call("future_eapply") [18:23:37.543] | : . | fcn <- eval(call) [18:23:37.543] | : . | expr[[1]] <- call [18:23:37.543] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.543] | : . | { [18:23:37.543] | : . | if (length(options) == 0L) return(options) [18:23:37.543] | : . | if (is.null(defaults_base)) { [18:23:37.543] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.543] | : . | } [18:23:37.543] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.543] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.543] | : . | defaults <- defaults[keep] [18:23:37.543] | : . | specified <- attr(options, "specified") [18:23:37.543] | : . | if (length(specified) > 0) { [18:23:37.543] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.543] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.543] | : . | names(options)) [18:23:37.543] | : . | } [18:23:37.543] | : . | specified <- sprintf("future.%s", specified) [18:23:37.543] | : . | names <- setdiff(names(defaults), specified) [18:23:37.543] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.543] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.543] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.543] | : . | options <- options[keep] [18:23:37.543] | : . | options [18:23:37.543] | : . | })(options, fcn)) [18:23:37.543] | : . | expr <- as.call(parts) [18:23:37.543] | : . | expr [18:23:37.543] | : . | } [18:23:37.543] | : . | [18:23:37.543] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.544] | : get_transpiler() ... done [18:23:37.544] | : Transpile call expression ... [18:23:37.544] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:37.544] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:37.544] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:37.544] | : . future.label = "future_eapply-%d") [18:23:37.545] | : Transpile call expression ... done [18:23:37.545] | : Evaluate transpiled call expression [18:23:37.638] | transpile() ... done [18:23:37.638] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, all.names = TRUE), seed = TRUE, flavor = "built-in") [18:23:37.639] futurize() ... [18:23:37.639] | transpile() ... [18:23:37.639] | : get_transpiler() ... [18:23:37.639] | : . Finding call to be transpiled ... [18:23:37.639] | : . | decend_wrappers() ... [18:23:37.640] | : . | : Call: [18:23:37.640] | : . | : base::eapply [18:23:37.640] | : . | : parse_call() ... [18:23:37.640] | : . | : . Function: base::eapply(...) [18:23:37.640] | : . | : parse_call() ... done [18:23:37.641] | : . | decend_wrappers() ... done [18:23:37.641] | : . | parse_call() ... [18:23:37.641] | : . | : Function: base::eapply(...) [18:23:37.641] | : . | parse_call() ... done [18:23:37.641] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.641] | : . | base::eapply [18:23:37.642] | : . Finding call to be transpiled ... done [18:23:37.642] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.642] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.642] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.642] | : . | Transpiler function: [18:23:37.643] | : . | function (expr, options = NULL) [18:23:37.643] | : . | { [18:23:37.643] | : . | call <- make_call("future_eapply") [18:23:37.643] | : . | fcn <- eval(call) [18:23:37.643] | : . | expr[[1]] <- call [18:23:37.643] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.643] | : . | { [18:23:37.643] | : . | if (length(options) == 0L) return(options) [18:23:37.643] | : . | if (is.null(defaults_base)) { [18:23:37.643] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.643] | : . | } [18:23:37.643] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.643] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.643] | : . | defaults <- defaults[keep] [18:23:37.643] | : . | specified <- attr(options, "specified") [18:23:37.643] | : . | if (length(specified) > 0) { [18:23:37.643] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.643] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.643] | : . | names(options)) [18:23:37.643] | : . | } [18:23:37.643] | : . | specified <- sprintf("future.%s", specified) [18:23:37.643] | : . | names <- setdiff(names(defaults), specified) [18:23:37.643] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.643] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.643] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.643] | : . | options <- options[keep] [18:23:37.643] | : . | options [18:23:37.643] | : . | })(options, fcn)) [18:23:37.643] | : . | expr <- as.call(parts) [18:23:37.643] | : . | expr [18:23:37.643] | : . | } [18:23:37.643] | : . | [18:23:37.643] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.643] | : get_transpiler() ... done [18:23:37.644] | : Transpile call expression ... [18:23:37.644] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [18:23:37.644] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:37.644] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.645] | : Transpile call expression ... done [18:23:37.645] | : Evaluate transpiled call expression [18:23:37.682] | transpile() ... done [18:23:37.683] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [18:23:37.683] futurize() ... [18:23:37.684] | transpile() ... [18:23:37.684] | : get_transpiler() ... [18:23:37.684] | : . Finding call to be transpiled ... [18:23:37.684] | : . | decend_wrappers() ... [18:23:37.684] | : . | : Call: [18:23:37.684] | : . | : base::eapply [18:23:37.685] | : . | : parse_call() ... [18:23:37.685] | : . | : . Function: base::eapply(...) [18:23:37.685] | : . | : parse_call() ... done [18:23:37.685] | : . | decend_wrappers() ... done [18:23:37.685] | : . | parse_call() ... [18:23:37.686] | : . | : Function: base::eapply(...) [18:23:37.686] | : . | parse_call() ... done [18:23:37.686] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.686] | : . | base::eapply [18:23:37.686] | : . Finding call to be transpiled ... done [18:23:37.686] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.687] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.687] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.687] | : . | Transpiler function: [18:23:37.687] | : . | function (expr, options = NULL) [18:23:37.687] | : . | { [18:23:37.687] | : . | call <- make_call("future_eapply") [18:23:37.687] | : . | fcn <- eval(call) [18:23:37.687] | : . | expr[[1]] <- call [18:23:37.687] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.687] | : . | { [18:23:37.687] | : . | if (length(options) == 0L) return(options) [18:23:37.687] | : . | if (is.null(defaults_base)) { [18:23:37.687] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.687] | : . | } [18:23:37.687] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.687] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.687] | : . | defaults <- defaults[keep] [18:23:37.687] | : . | specified <- attr(options, "specified") [18:23:37.687] | : . | if (length(specified) > 0) { [18:23:37.687] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.687] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.687] | : . | names(options)) [18:23:37.687] | : . | } [18:23:37.687] | : . | specified <- sprintf("future.%s", specified) [18:23:37.687] | : . | names <- setdiff(names(defaults), specified) [18:23:37.687] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.687] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.687] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.687] | : . | options <- options[keep] [18:23:37.687] | : . | options [18:23:37.687] | : . | })(options, fcn)) [18:23:37.687] | : . | expr <- as.call(parts) [18:23:37.687] | : . | expr [18:23:37.687] | : . | } [18:23:37.687] | : . | [18:23:37.688] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.688] | : get_transpiler() ... done [18:23:37.688] | : Transpile call expression ... [18:23:37.689] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:37.689] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:37.689] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.689] | : Transpile call expression ... done [18:23:37.690] | : Evaluate transpiled call expression [18:23:37.726] | transpile() ... done [18:23:37.726] futurize() ... done [18:23:37.726] futurize() ... [18:23:37.726] | transpile() ... [18:23:37.727] | : get_transpiler() ... [18:23:37.727] | : . Finding call to be transpiled ... [18:23:37.727] | : . | decend_wrappers() ... [18:23:37.727] | : . | : Call: [18:23:37.727] | : . | : base::eapply [18:23:37.727] | : . | : parse_call() ... [18:23:37.728] | : . | : . Function: base::eapply(...) [18:23:37.728] | : . | : parse_call() ... done [18:23:37.728] | : . | decend_wrappers() ... done [18:23:37.728] | : . | parse_call() ... [18:23:37.728] | : . | : Function: base::eapply(...) [18:23:37.728] | : . | parse_call() ... done [18:23:37.729] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.729] | : . | base::eapply [18:23:37.729] | : . Finding call to be transpiled ... done [18:23:37.729] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.729] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.730] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.730] | : . | Transpiler function: [18:23:37.730] | : . | function (expr, options = NULL) [18:23:37.730] | : . | { [18:23:37.730] | : . | call <- make_call("future_eapply") [18:23:37.730] | : . | fcn <- eval(call) [18:23:37.730] | : . | expr[[1]] <- call [18:23:37.730] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.730] | : . | { [18:23:37.730] | : . | if (length(options) == 0L) return(options) [18:23:37.730] | : . | if (is.null(defaults_base)) { [18:23:37.730] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.730] | : . | } [18:23:37.730] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.730] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.730] | : . | defaults <- defaults[keep] [18:23:37.730] | : . | specified <- attr(options, "specified") [18:23:37.730] | : . | if (length(specified) > 0) { [18:23:37.730] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.730] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.730] | : . | names(options)) [18:23:37.730] | : . | } [18:23:37.730] | : . | specified <- sprintf("future.%s", specified) [18:23:37.730] | : . | names <- setdiff(names(defaults), specified) [18:23:37.730] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.730] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.730] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.730] | : . | options <- options[keep] [18:23:37.730] | : . | options [18:23:37.730] | : . | })(options, fcn)) [18:23:37.730] | : . | expr <- as.call(parts) [18:23:37.730] | : . | expr [18:23:37.730] | : . | } [18:23:37.730] | : . | [18:23:37.731] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.731] | : get_transpiler() ... done [18:23:37.731] | : Transpile call expression ... [18:23:37.731] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:37.731] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [18:23:37.731] | : . future.conditions = character(0), future.scheduling = 1, [18:23:37.731] | : . future.label = "future_eapply-%d") [18:23:37.732] | : Transpile call expression ... done [18:23:37.732] | : Evaluate transpiled call expression [18:23:37.769] | transpile() ... done [18:23:37.770] futurize() ... done character(0) [18:23:37.770] futurize() ... [18:23:37.770] | transpile() ... [18:23:37.770] | : get_transpiler() ... [18:23:37.771] | : . Finding call to be transpiled ... [18:23:37.771] | : . | decend_wrappers() ... [18:23:37.771] | : . | : Call: [18:23:37.771] | : . | : base::eapply [18:23:37.771] | : . | : parse_call() ... [18:23:37.772] | : . | : . Function: base::eapply(...) [18:23:37.772] | : . | : parse_call() ... done [18:23:37.772] | : . | decend_wrappers() ... done [18:23:37.772] | : . | parse_call() ... [18:23:37.772] | : . | : Function: base::eapply(...) [18:23:37.772] | : . | parse_call() ... done [18:23:37.772] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.773] | : . | base::eapply [18:23:37.773] | : . Finding call to be transpiled ... done [18:23:37.773] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.773] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.773] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.774] | : . | Transpiler function: [18:23:37.774] | : . | function (expr, options = NULL) [18:23:37.774] | : . | { [18:23:37.774] | : . | call <- make_call("future_eapply") [18:23:37.774] | : . | fcn <- eval(call) [18:23:37.774] | : . | expr[[1]] <- call [18:23:37.774] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.774] | : . | { [18:23:37.774] | : . | if (length(options) == 0L) return(options) [18:23:37.774] | : . | if (is.null(defaults_base)) { [18:23:37.774] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.774] | : . | } [18:23:37.774] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.774] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.774] | : . | defaults <- defaults[keep] [18:23:37.774] | : . | specified <- attr(options, "specified") [18:23:37.774] | : . | if (length(specified) > 0) { [18:23:37.774] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.774] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.774] | : . | names(options)) [18:23:37.774] | : . | } [18:23:37.774] | : . | specified <- sprintf("future.%s", specified) [18:23:37.774] | : . | names <- setdiff(names(defaults), specified) [18:23:37.774] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.774] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.774] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.774] | : . | options <- options[keep] [18:23:37.774] | : . | options [18:23:37.774] | : . | })(options, fcn)) [18:23:37.774] | : . | expr <- as.call(parts) [18:23:37.774] | : . | expr [18:23:37.774] | : . | } [18:23:37.774] | : . | [18:23:37.774] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.775] | : get_transpiler() ... done [18:23:37.775] | : Transpile call expression ... [18:23:37.775] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:37.775] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [18:23:37.775] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [18:23:37.775] | : . future.label = "future_eapply-%d") [18:23:37.776] | : Transpile call expression ... done [18:23:37.776] | : Evaluate transpiled call expression [18:23:37.839] | transpile() ... done [18:23:37.839] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [18:23:37.840] futurize() ... [18:23:37.840] | transpile() ... [18:23:37.840] | : get_transpiler() ... [18:23:37.840] | : . Finding call to be transpiled ... [18:23:37.841] | : . | decend_wrappers() ... [18:23:37.841] | : . | : Call: [18:23:37.841] | : . | : base::eapply [18:23:37.841] | : . | : parse_call() ... [18:23:37.841] | : . | : . Function: base::eapply(...) [18:23:37.841] | : . | : parse_call() ... done [18:23:37.842] | : . | decend_wrappers() ... done [18:23:37.842] | : . | parse_call() ... [18:23:37.842] | : . | : Function: base::eapply(...) [18:23:37.842] | : . | parse_call() ... done [18:23:37.842] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.842] | : . | base::eapply [18:23:37.843] | : . Finding call to be transpiled ... done [18:23:37.843] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [18:23:37.843] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.843] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [18:23:37.843] | : . | Transpiler function: [18:23:37.844] | : . | function (expr, options = NULL) [18:23:37.844] | : . | { [18:23:37.844] | : . | call <- make_call("future_eapply") [18:23:37.844] | : . | fcn <- eval(call) [18:23:37.844] | : . | expr[[1]] <- call [18:23:37.844] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.844] | : . | { [18:23:37.844] | : . | if (length(options) == 0L) return(options) [18:23:37.844] | : . | if (is.null(defaults_base)) { [18:23:37.844] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.844] | : . | } [18:23:37.844] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.844] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.844] | : . | defaults <- defaults[keep] [18:23:37.844] | : . | specified <- attr(options, "specified") [18:23:37.844] | : . | if (length(specified) > 0) { [18:23:37.844] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.844] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.844] | : . | names(options)) [18:23:37.844] | : . | } [18:23:37.844] | : . | specified <- sprintf("future.%s", specified) [18:23:37.844] | : . | names <- setdiff(names(defaults), specified) [18:23:37.844] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.844] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.844] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.844] | : . | options <- options[keep] [18:23:37.844] | : . | options [18:23:37.844] | : . | })(options, fcn)) [18:23:37.844] | : . | expr <- as.call(parts) [18:23:37.844] | : . | expr [18:23:37.844] | : . | } [18:23:37.844] | : . | [18:23:37.844] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [18:23:37.844] | : get_transpiler() ... done [18:23:37.845] | : Transpile call expression ... [18:23:37.845] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [18:23:37.845] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [18:23:37.845] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [18:23:37.846] | : Transpile call expression ... done [18:23:37.846] | : Evaluate transpiled call expression [18:23:37.886] | transpile() ... done [18:23:37.886] futurize() ... done === replicate ========================== replicate(2, 42) --------------------------------- Skipping replicate() - not yet implemented for flavor = 'built-in' === replicate ========================== base::replicate(2, 42) --------------------------------- Skipping replicate() - not yet implemented for flavor = 'built-in' === kernapply ========================== kernapply(x = X, k = k) --------------------------------- Skipping kernapply() - not yet implemented for flavor = 'built-in' futurize() for replicate() should default to seed = TRUE [18:23:37.887] futurize() ... [18:23:37.887] | transpile() ... [18:23:37.888] | : get_transpiler() ... [18:23:37.888] | : . Finding call to be transpiled ... [18:23:37.888] | : . | decend_wrappers() ... [18:23:37.888] | : . | : Call: [18:23:37.888] | : . | : replicate [18:23:37.888] | : . | : parse_call() ... [18:23:37.889] | : . | : . Function: replicate(...) [18:23:37.889] | : . | : . Locate function ... [18:23:37.889] | : . | : . | Function located in: 'base' [18:23:37.889] | : . | : . Locate function ... done [18:23:37.889] | : . | : parse_call() ... done [18:23:37.889] | : . | decend_wrappers() ... done [18:23:37.890] | : . | parse_call() ... [18:23:37.890] | : . | : Function: replicate(...) [18:23:37.890] | : . | : Locate function ... [18:23:37.890] | : . | : . Function located in: 'base' [18:23:37.890] | : . | : Locate function ... done [18:23:37.890] | : . | parse_call() ... done [18:23:37.891] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.891] | : . | replicate [18:23:37.891] | : . Finding call to be transpiled ... done [18:23:37.891] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:37.891] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.891] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:37.892] | : . | Transpiler function: [18:23:37.892] | : . | function (expr, options = NULL) [18:23:37.892] | : . | { [18:23:37.892] | : . | call <- make_call("future_replicate") [18:23:37.892] | : . | fcn <- eval(call) [18:23:37.892] | : . | expr[[1]] <- call [18:23:37.892] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.892] | : . | { [18:23:37.892] | : . | if (length(options) == 0L) return(options) [18:23:37.892] | : . | if (is.null(defaults_base)) { [18:23:37.892] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.892] | : . | } [18:23:37.892] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.892] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.892] | : . | defaults <- defaults[keep] [18:23:37.892] | : . | specified <- attr(options, "specified") [18:23:37.892] | : . | if (length(specified) > 0) { [18:23:37.892] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.892] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.892] | : . | names(options)) [18:23:37.892] | : . | } [18:23:37.892] | : . | specified <- sprintf("future.%s", specified) [18:23:37.892] | : . | names <- setdiff(names(defaults), specified) [18:23:37.892] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.892] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.892] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.892] | : . | options <- options[keep] [18:23:37.892] | : . | options [18:23:37.892] | : . | })(options, fcn)) [18:23:37.892] | : . | expr <- as.call(parts) [18:23:37.892] | : . | expr [18:23:37.892] | : . | } [18:23:37.892] | : . | [18:23:37.892] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:37.893] | : get_transpiler() ... done [18:23:37.893] | : Transpile call expression ... [18:23:37.893] | : . future.apply::future_replicate(2, rnorm(1), future.seed = TRUE, [18:23:37.893] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:37.893] | : . future.scheduling = 1, future.label = "future_replicate-%d") [18:23:37.894] | : Transpile call expression ... done [18:23:37.894] | : Evaluate transpiled call expression [18:23:37.910] | transpile() ... done [18:23:37.911] futurize() ... done futurize(seed = FALSE) gives RNG error with replicate() [18:23:37.959] futurize() ... [18:23:37.959] | transpile() ... [18:23:37.960] | : get_transpiler() ... [18:23:37.960] | : . Finding call to be transpiled ... [18:23:37.960] | : . | decend_wrappers() ... [18:23:37.960] | : . | : Call: [18:23:37.960] | : . | : replicate [18:23:37.961] | : . | : parse_call() ... [18:23:37.961] | : . | : . Function: replicate(...) [18:23:37.961] | : . | : . Locate function ... [18:23:37.961] | : . | : . | Function located in: 'base' [18:23:37.961] | : . | : . Locate function ... done [18:23:37.961] | : . | : parse_call() ... done [18:23:37.962] | : . | decend_wrappers() ... done [18:23:37.962] | : . | parse_call() ... [18:23:37.962] | : . | : Function: replicate(...) [18:23:37.962] | : . | : Locate function ... [18:23:37.962] | : . | : . Function located in: 'base' [18:23:37.962] | : . | : Locate function ... done [18:23:37.963] | : . | parse_call() ... done [18:23:37.963] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.963] | : . | replicate [18:23:37.963] | : . Finding call to be transpiled ... done [18:23:37.963] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [18:23:37.963] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.964] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [18:23:37.964] | : . | Transpiler function: [18:23:37.964] | : . | function (expr, options = NULL) [18:23:37.964] | : . | { [18:23:37.964] | : . | call <- make_call("future_replicate") [18:23:37.964] | : . | fcn <- eval(call) [18:23:37.964] | : . | expr[[1]] <- call [18:23:37.964] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.964] | : . | { [18:23:37.964] | : . | if (length(options) == 0L) return(options) [18:23:37.964] | : . | if (is.null(defaults_base)) { [18:23:37.964] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.964] | : . | } [18:23:37.964] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.964] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.964] | : . | defaults <- defaults[keep] [18:23:37.964] | : . | specified <- attr(options, "specified") [18:23:37.964] | : . | if (length(specified) > 0) { [18:23:37.964] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.964] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.964] | : . | names(options)) [18:23:37.964] | : . | } [18:23:37.964] | : . | specified <- sprintf("future.%s", specified) [18:23:37.964] | : . | names <- setdiff(names(defaults), specified) [18:23:37.964] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.964] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.964] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.964] | : . | options <- options[keep] [18:23:37.964] | : . | options [18:23:37.964] | : . | })(options, fcn)) [18:23:37.964] | : . | expr <- as.call(parts) [18:23:37.964] | : . | expr [18:23:37.964] | : . | } [18:23:37.964] | : . | [18:23:37.965] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [18:23:37.965] | : get_transpiler() ... done [18:23:37.965] | : Transpile call expression ... [18:23:37.965] | : . future.apply::future_replicate(2, rnorm(1), future.seed = FALSE, [18:23:37.965] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [18:23:37.965] | : . future.scheduling = 1, future.label = "future_replicate-%d") [18:23:37.966] | : Transpile call expression ... done [18:23:37.966] | : Evaluate transpiled call expression Warning: Caught RngFutureError. Canceling all iterations ... [18:23:37.984] | transpile() ... done [18:23:37.984] futurize() ... done Special case: Zero futurize() options [18:23:37.985] futurize() ... [18:23:37.985] | transpile() ... [18:23:37.985] | : get_transpiler() ... [18:23:37.985] | : . Finding call to be transpiled ... [18:23:37.985] | : . | decend_wrappers() ... [18:23:37.985] | : . | : Call: [18:23:37.985] | : . | : lapply [18:23:37.986] | : . | : parse_call() ... [18:23:37.986] | : . | : . Function: lapply(...) [18:23:37.986] | : . | : . Locate function ... [18:23:37.986] | : . | : . | Function located in: 'base' [18:23:37.986] | : . | : . Locate function ... done [18:23:37.987] | : . | : parse_call() ... done [18:23:37.987] | : . | decend_wrappers() ... done [18:23:37.987] | : . | parse_call() ... [18:23:37.987] | : . | : Function: lapply(...) [18:23:37.987] | : . | : Locate function ... [18:23:37.987] | : . | : . Function located in: 'base' [18:23:37.988] | : . | : Locate function ... done [18:23:37.988] | : . | parse_call() ... done [18:23:37.988] | : . | Position of call to be transpiled in expression: c(1) [18:23:37.988] | : . | lapply [18:23:37.988] | : . Finding call to be transpiled ... done [18:23:37.988] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [18:23:37.989] | : . | Namespaces registered with futurize(): 'base', 'stats' [18:23:37.989] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [18:23:37.989] | : . | Transpiler function: [18:23:37.989] | : . | function (expr, options = NULL) [18:23:37.989] | : . | { [18:23:37.989] | : . | call <- make_call("future_lapply") [18:23:37.989] | : . | fcn <- eval(call) [18:23:37.989] | : . | expr[[1]] <- call [18:23:37.989] | : . | parts <- c(as.list(expr), (function (options, fcn) [18:23:37.989] | : . | { [18:23:37.989] | : . | if (length(options) == 0L) return(options) [18:23:37.989] | : . | if (is.null(defaults_base)) { [18:23:37.989] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [18:23:37.989] | : . | } [18:23:37.989] | : . | defaults <- c(defaults_base, get_defaults(fcn)) [18:23:37.989] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [18:23:37.989] | : . | defaults <- defaults[keep] [18:23:37.989] | : . | specified <- attr(options, "specified") [18:23:37.989] | : . | if (length(specified) > 0) { [18:23:37.989] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [18:23:37.989] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [18:23:37.989] | : . | names(options)) [18:23:37.989] | : . | } [18:23:37.989] | : . | specified <- sprintf("future.%s", specified) [18:23:37.989] | : . | names <- setdiff(names(defaults), specified) [18:23:37.989] | : . | names(options) <- sprintf("future.%s", names(options)) [18:23:37.989] | : . | for (name in names) options[[name]] <- defaults[[name]] [18:23:37.989] | : . | keep <- intersect(names(options), names(defaults)) [18:23:37.989] | : . | options <- options[keep] [18:23:37.989] | : . | options [18:23:37.989] | : . | })(options, fcn)) [18:23:37.989] | : . | expr <- as.call(parts) [18:23:37.989] | : . | expr [18:23:37.989] | : . | } [18:23:37.989] | : . | [18:23:37.990] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [18:23:37.990] | : get_transpiler() ... done [18:23:37.990] | : Transpile call expression ... [18:23:37.990] | : . future.apply::future_lapply(1, identity) [18:23:37.991] | : Transpile call expression ... done [18:23:37.991] | : Evaluate transpiled call expression [18:23:38.002] | transpile() ... done [18:23:38.002] futurize() ... done Failed to undo environment variables: - Expected environment variables: [n=217] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CV_Instance001', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS44_HOME', 'RTOOLS45_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS45_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTME_NAME', 'R_TESTME_PACKAGE', 'R_TESTME_PATH', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TETRAD_DIR', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_MAYBE_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_START_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_LOG_USE_INFO_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_BIBENTRIES_CITED_NOT_SHOWN_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_RELATIVE_PATHS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '_R_USE_STRICT_R_HEADERS_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_INTERNAL__', 'maj.version', 'nextArg--timingsnextArg--install', 'tempdirname' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: Skipping, because path appears not to be an 'R CMD check' folder: 'D:/temp/2026_01_18_18_20_17_191' Test time: user.self=5s, sys.self=0.1s, elapsed=7s, user.child=NAs, sys.child=NAs Test 'futurize-base-stats' ... success > > proc.time() user system elapsed 4.81 0.17 7.26