R Under development (unstable) (2026-03-17 r89645 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 [17:32:09.798] futurize() ... [17:32:09.800] | transpile() ... [17:32:09.801] | : get_transpiler() ... [17:32:09.802] | : . Finding call to be transpiled ... [17:32:09.803] | : . | descend_wrappers() ... [17:32:09.804] | : . | : Call: [17:32:09.805] | : . | : lapply [17:32:09.807] | : . | : parse_call() ... [17:32:09.808] | : . | : . Function: lapply(...) [17:32:09.809] | : . | : . Locate function ... [17:32:09.810] | : . | : . | Function located in: 'base' [17:32:09.811] | : . | : . Locate function ... done [17:32:09.811] | : . | : parse_call() ... done [17:32:09.812] | : . | descend_wrappers() ... done [17:32:09.813] | : . | parse_call() ... [17:32:09.814] | : . | : Function: lapply(...) [17:32:09.815] | : . | : Locate function ... [17:32:09.816] | : . | : . Function located in: 'base' [17:32:09.816] | : . | : Locate function ... done [17:32:09.817] | : . | parse_call() ... done [17:32:09.818] | : . | Position of call to be transpiled in expression: c(1) [17:32:09.819] | : . | lapply [17:32:09.820] | : . Finding call to be transpiled ... done [17:32:09.821] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:09.822] | : . | transpilers_for_package(action = 'make', type = 'futurize::add-on') ... [17:32:09.822] | : . | : - package: 'base' [17:32:09.823] | : . | : $fcns [17:32:09.823] | : . | : $fcns[[1]] [17:32:09.823] | : . | : function () [17:32:09.823] | : . | : { [17:32:09.823] | : . | : append_transpilers("futurize::add-on", make_addon_transpilers("base", [17:32:09.823] | : . | : "future.apply", make_options = make_options_for_future.apply)) [17:32:09.823] | : . | : append_transpilers("futurize::add-on", make_addon_transpilers("stats", [17:32:09.823] | : . | : "future.apply", make_options = make_options_for_future.apply)) [17:32:09.823] | : . | : c("future.apply") [17:32:09.823] | : . | : } [17:32:09.823] | : . | : [17:32:09.823] | : . | : [17:32:09.823] | : . | : [17:32:09.823] | : . | : [17:32:09.831] | : . | transpilers_for_package(action = 'make', type = 'futurize::add-on') ... done [17:32:09.832] | : . | Required packages: [n=1] 'future.apply' [17:32:09.832] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:09.833] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:09.834] | : . | Transpiler function: [17:32:09.834] | : . | function (expr, options = NULL) [17:32:09.834] | : . | { [17:32:09.834] | : . | call <- make_call("future_lapply") [17:32:09.834] | : . | fcn <- eval(call) [17:32:09.834] | : . | expr[[1]] <- call [17:32:09.834] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:09.834] | : . | { [17:32:09.834] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:09.834] | : . | if (is.null(defaults_base)) { [17:32:09.834] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:09.834] | : . | } [17:32:09.834] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:09.834] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:09.834] | : . | defaults <- defaults[keep] [17:32:09.834] | : . | specified <- attr(options, "specified") [17:32:09.834] | : . | if (length(specified) > 0) { [17:32:09.834] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:09.834] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:09.834] | : . | names(options)) [17:32:09.834] | : . | } [17:32:09.834] | : . | specified <- sprintf("future.%s", specified) [17:32:09.834] | : . | names <- setdiff(names(defaults), specified) [17:32:09.834] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:09.834] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:09.834] | : . | keep <- intersect(names(options), names(defaults)) [17:32:09.834] | : . | options <- options[keep] [17:32:09.834] | : . | options [17:32:09.834] | : . | })(options, fcn)) [17:32:09.834] | : . | expr <- as.call(parts) [17:32:09.834] | : . | expr [17:32:09.834] | : . | } [17:32:09.834] | : . | [17:32:09.835] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:09.836] | : get_transpiler() ... done [17:32:09.837] | : Transpile call expression ... [17:32:09.838] | : . future.apply::future_lapply(X = 1:3, FUN = function(x) { [17:32:09.838] | : . print(x) [17:32:09.838] | : . }, future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:09.838] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_lapply-%d") [17:32:09.840] | : Transpile call expression ... done [17:32:09.840] | : Evaluate transpiled call expression [17:32:09.998] | transpile() ... done [17:32:09.999] futurize() ... done Futures created: 2 [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 === lapply ========================== lapply(X = xs, FUN = FUN) --------------------------------- [17:32:10.091] futurize() ... [17:32:10.092] | transpile() ... [17:32:10.093] | : get_transpiler() ... [17:32:10.093] | : . Finding call to be transpiled ... [17:32:10.094] | : . | descend_wrappers() ... [17:32:10.095] | : . | : Call: [17:32:10.096] | : . | : lapply [17:32:10.097] | : . | : parse_call() ... [17:32:10.098] | : . | : . Function: lapply(...) [17:32:10.098] | : . | : . Locate function ... [17:32:10.099] | : . | : . | Function located in: 'base' [17:32:10.099] | : . | : . Locate function ... done [17:32:10.099] | : . | : parse_call() ... done [17:32:10.100] | : . | descend_wrappers() ... done [17:32:10.100] | : . | parse_call() ... [17:32:10.101] | : . | : Function: lapply(...) [17:32:10.102] | : . | : Locate function ... [17:32:10.103] | : . | : . Function located in: 'base' [17:32:10.104] | : . | : Locate function ... done [17:32:10.105] | : . | parse_call() ... done [17:32:10.106] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.107] | : . | lapply [17:32:10.108] | : . Finding call to be transpiled ... done [17:32:10.109] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.110] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.111] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.112] | : . | Transpiler function: [17:32:10.113] | : . | function (expr, options = NULL) [17:32:10.113] | : . | { [17:32:10.113] | : . | call <- make_call("future_lapply") [17:32:10.113] | : . | fcn <- eval(call) [17:32:10.113] | : . | expr[[1]] <- call [17:32:10.113] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.113] | : . | { [17:32:10.113] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.113] | : . | if (is.null(defaults_base)) { [17:32:10.113] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.113] | : . | } [17:32:10.113] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.113] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.113] | : . | defaults <- defaults[keep] [17:32:10.113] | : . | specified <- attr(options, "specified") [17:32:10.113] | : . | if (length(specified) > 0) { [17:32:10.113] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.113] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.113] | : . | names(options)) [17:32:10.113] | : . | } [17:32:10.113] | : . | specified <- sprintf("future.%s", specified) [17:32:10.113] | : . | names <- setdiff(names(defaults), specified) [17:32:10.113] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.113] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.113] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.113] | : . | options <- options[keep] [17:32:10.113] | : . | options [17:32:10.113] | : . | })(options, fcn)) [17:32:10.113] | : . | expr <- as.call(parts) [17:32:10.113] | : . | expr [17:32:10.113] | : . | } [17:32:10.113] | : . | [17:32:10.114] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.115] | : get_transpiler() ... done [17:32:10.116] | : Transpile call expression ... [17:32:10.117] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:10.117] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:10.117] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:10.119] | : Transpile call expression ... done [17:32:10.120] | : Evaluate transpiled call expression [17:32:10.176] | transpile() ... done [17:32:10.178] futurize() ... done Futures created: 2 [17:32:10.179] futurize() ... [17:32:10.180] | transpile() ... [17:32:10.181] | : get_transpiler() ... [17:32:10.182] | : . Finding call to be transpiled ... [17:32:10.183] | : . | descend_wrappers() ... [17:32:10.184] | : . | : Call: [17:32:10.185] | : . | : lapply [17:32:10.186] | : . | : parse_call() ... [17:32:10.187] | : . | : . Function: lapply(...) [17:32:10.188] | : . | : . Locate function ... [17:32:10.189] | : . | : . | Function located in: 'base' [17:32:10.190] | : . | : . Locate function ... done [17:32:10.191] | : . | : parse_call() ... done [17:32:10.192] | : . | descend_wrappers() ... done [17:32:10.193] | : . | parse_call() ... [17:32:10.193] | : . | : Function: lapply(...) [17:32:10.194] | : . | : Locate function ... [17:32:10.195] | : . | : . Function located in: 'base' [17:32:10.196] | : . | : Locate function ... done [17:32:10.197] | : . | parse_call() ... done [17:32:10.198] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.199] | : . | lapply [17:32:10.200] | : . Finding call to be transpiled ... done [17:32:10.201] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.201] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.202] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.203] | : . | Transpiler function: [17:32:10.204] | : . | function (expr, options = NULL) [17:32:10.204] | : . | { [17:32:10.204] | : . | call <- make_call("future_lapply") [17:32:10.204] | : . | fcn <- eval(call) [17:32:10.204] | : . | expr[[1]] <- call [17:32:10.204] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.204] | : . | { [17:32:10.204] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.204] | : . | if (is.null(defaults_base)) { [17:32:10.204] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.204] | : . | } [17:32:10.204] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.204] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.204] | : . | defaults <- defaults[keep] [17:32:10.204] | : . | specified <- attr(options, "specified") [17:32:10.204] | : . | if (length(specified) > 0) { [17:32:10.204] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.204] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.204] | : . | names(options)) [17:32:10.204] | : . | } [17:32:10.204] | : . | specified <- sprintf("future.%s", specified) [17:32:10.204] | : . | names <- setdiff(names(defaults), specified) [17:32:10.204] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.204] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.204] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.204] | : . | options <- options[keep] [17:32:10.204] | : . | options [17:32:10.204] | : . | })(options, fcn)) [17:32:10.204] | : . | expr <- as.call(parts) [17:32:10.204] | : . | expr [17:32:10.204] | : . | } [17:32:10.204] | : . | [17:32:10.206] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.206] | : get_transpiler() ... done [17:32:10.207] | : Transpile call expression ... [17:32:10.209] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:10.209] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:10.209] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:10.211] | : Transpile call expression ... done [17:32:10.212] | : Evaluate transpiled call expression [17:32:10.274] | transpile() ... done [17:32:10.275] futurize() ... done character(0) [17:32:10.276] futurize() ... [17:32:10.276] | transpile() ... [17:32:10.277] | : get_transpiler() ... [17:32:10.278] | : . Finding call to be transpiled ... [17:32:10.278] | : . | descend_wrappers() ... [17:32:10.279] | : . | : Call: [17:32:10.279] | : . | : lapply [17:32:10.280] | : . | : parse_call() ... [17:32:10.281] | : . | : . Function: lapply(...) [17:32:10.282] | : . | : . Locate function ... [17:32:10.283] | : . | : . | Function located in: 'base' [17:32:10.283] | : . | : . Locate function ... done [17:32:10.284] | : . | : parse_call() ... done [17:32:10.285] | : . | descend_wrappers() ... done [17:32:10.285] | : . | parse_call() ... [17:32:10.286] | : . | : Function: lapply(...) [17:32:10.287] | : . | : Locate function ... [17:32:10.287] | : . | : . Function located in: 'base' [17:32:10.288] | : . | : Locate function ... done [17:32:10.288] | : . | parse_call() ... done [17:32:10.289] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.289] | : . | lapply [17:32:10.290] | : . Finding call to be transpiled ... done [17:32:10.291] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.291] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.292] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.292] | : . | Transpiler function: [17:32:10.293] | : . | function (expr, options = NULL) [17:32:10.293] | : . | { [17:32:10.293] | : . | call <- make_call("future_lapply") [17:32:10.293] | : . | fcn <- eval(call) [17:32:10.293] | : . | expr[[1]] <- call [17:32:10.293] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.293] | : . | { [17:32:10.293] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.293] | : . | if (is.null(defaults_base)) { [17:32:10.293] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.293] | : . | } [17:32:10.293] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.293] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.293] | : . | defaults <- defaults[keep] [17:32:10.293] | : . | specified <- attr(options, "specified") [17:32:10.293] | : . | if (length(specified) > 0) { [17:32:10.293] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.293] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.293] | : . | names(options)) [17:32:10.293] | : . | } [17:32:10.293] | : . | specified <- sprintf("future.%s", specified) [17:32:10.293] | : . | names <- setdiff(names(defaults), specified) [17:32:10.293] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.293] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.293] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.293] | : . | options <- options[keep] [17:32:10.293] | : . | options [17:32:10.293] | : . | })(options, fcn)) [17:32:10.293] | : . | expr <- as.call(parts) [17:32:10.293] | : . | expr [17:32:10.293] | : . | } [17:32:10.293] | : . | [17:32:10.294] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.295] | : get_transpiler() ... done [17:32:10.295] | : Transpile call expression ... [17:32:10.296] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:10.296] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:10.296] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [17:32:10.298] | : Transpile call expression ... done [17:32:10.299] | : Evaluate transpiled call expression [17:32:10.481] | transpile() ... done [17:32:10.483] futurize() ... done Test with RNG: futurize(lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [17:32:10.484] futurize() ... [17:32:10.486] | transpile() ... [17:32:10.487] | : get_transpiler() ... [17:32:10.488] | : . Finding call to be transpiled ... [17:32:10.489] | : . | descend_wrappers() ... [17:32:10.490] | : . | : Call: [17:32:10.490] | : . | : lapply [17:32:10.495] | : . | : parse_call() ... [17:32:10.496] | : . | : . Function: lapply(...) [17:32:10.497] | : . | : . Locate function ... [17:32:10.498] | : . | : . | Function located in: 'base' [17:32:10.499] | : . | : . Locate function ... done [17:32:10.500] | : . | : parse_call() ... done [17:32:10.500] | : . | descend_wrappers() ... done [17:32:10.501] | : . | parse_call() ... [17:32:10.503] | : . | : Function: lapply(...) [17:32:10.504] | : . | : Locate function ... [17:32:10.505] | : . | : . Function located in: 'base' [17:32:10.506] | : . | : Locate function ... done [17:32:10.507] | : . | parse_call() ... done [17:32:10.508] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.509] | : . | lapply [17:32:10.510] | : . Finding call to be transpiled ... done [17:32:10.511] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.512] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.513] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.514] | : . | Transpiler function: [17:32:10.515] | : . | function (expr, options = NULL) [17:32:10.515] | : . | { [17:32:10.515] | : . | call <- make_call("future_lapply") [17:32:10.515] | : . | fcn <- eval(call) [17:32:10.515] | : . | expr[[1]] <- call [17:32:10.515] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.515] | : . | { [17:32:10.515] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.515] | : . | if (is.null(defaults_base)) { [17:32:10.515] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.515] | : . | } [17:32:10.515] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.515] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.515] | : . | defaults <- defaults[keep] [17:32:10.515] | : . | specified <- attr(options, "specified") [17:32:10.515] | : . | if (length(specified) > 0) { [17:32:10.515] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.515] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.515] | : . | names(options)) [17:32:10.515] | : . | } [17:32:10.515] | : . | specified <- sprintf("future.%s", specified) [17:32:10.515] | : . | names <- setdiff(names(defaults), specified) [17:32:10.515] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.515] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.515] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.515] | : . | options <- options[keep] [17:32:10.515] | : . | options [17:32:10.515] | : . | })(options, fcn)) [17:32:10.515] | : . | expr <- as.call(parts) [17:32:10.515] | : . | expr [17:32:10.515] | : . | } [17:32:10.515] | : . | [17:32:10.517] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.518] | : get_transpiler() ... done [17:32:10.519] | : Transpile call expression ... [17:32:10.521] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:10.521] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:10.521] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:10.523] | : Transpile call expression ... done [17:32:10.524] | : Evaluate transpiled call expression [17:32:10.601] | transpile() ... done [17:32:10.602] futurize() ... done === lapply ========================== base::lapply(X = xs, FUN = FUN) --------------------------------- [17:32:10.604] futurize() ... [17:32:10.605] | transpile() ... [17:32:10.606] | : get_transpiler() ... [17:32:10.607] | : . Finding call to be transpiled ... [17:32:10.608] | : . | descend_wrappers() ... [17:32:10.609] | : . | : Call: [17:32:10.610] | : . | : base::lapply [17:32:10.611] | : . | : parse_call() ... [17:32:10.611] | : . | : . Function: base::lapply(...) [17:32:10.612] | : . | : parse_call() ... done [17:32:10.613] | : . | descend_wrappers() ... done [17:32:10.613] | : . | parse_call() ... [17:32:10.614] | : . | : Function: base::lapply(...) [17:32:10.615] | : . | parse_call() ... done [17:32:10.615] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.616] | : . | base::lapply [17:32:10.617] | : . Finding call to be transpiled ... done [17:32:10.617] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.618] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.619] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.620] | : . | Transpiler function: [17:32:10.620] | : . | function (expr, options = NULL) [17:32:10.620] | : . | { [17:32:10.620] | : . | call <- make_call("future_lapply") [17:32:10.620] | : . | fcn <- eval(call) [17:32:10.620] | : . | expr[[1]] <- call [17:32:10.620] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.620] | : . | { [17:32:10.620] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.620] | : . | if (is.null(defaults_base)) { [17:32:10.620] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.620] | : . | } [17:32:10.620] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.620] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.620] | : . | defaults <- defaults[keep] [17:32:10.620] | : . | specified <- attr(options, "specified") [17:32:10.620] | : . | if (length(specified) > 0) { [17:32:10.620] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.620] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.620] | : . | names(options)) [17:32:10.620] | : . | } [17:32:10.620] | : . | specified <- sprintf("future.%s", specified) [17:32:10.620] | : . | names <- setdiff(names(defaults), specified) [17:32:10.620] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.620] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.620] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.620] | : . | options <- options[keep] [17:32:10.620] | : . | options [17:32:10.620] | : . | })(options, fcn)) [17:32:10.620] | : . | expr <- as.call(parts) [17:32:10.620] | : . | expr [17:32:10.620] | : . | } [17:32:10.620] | : . | [17:32:10.622] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.622] | : get_transpiler() ... done [17:32:10.623] | : Transpile call expression ... [17:32:10.624] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:10.624] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:10.624] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:10.626] | : Transpile call expression ... done [17:32:10.627] | : Evaluate transpiled call expression [17:32:10.695] | transpile() ... done [17:32:10.696] futurize() ... done Futures created: 2 [17:32:10.696] futurize() ... [17:32:10.697] | transpile() ... [17:32:10.698] | : get_transpiler() ... [17:32:10.698] | : . Finding call to be transpiled ... [17:32:10.699] | : . | descend_wrappers() ... [17:32:10.699] | : . | : Call: [17:32:10.700] | : . | : base::lapply [17:32:10.701] | : . | : parse_call() ... [17:32:10.701] | : . | : . Function: base::lapply(...) [17:32:10.702] | : . | : parse_call() ... done [17:32:10.702] | : . | descend_wrappers() ... done [17:32:10.703] | : . | parse_call() ... [17:32:10.703] | : . | : Function: base::lapply(...) [17:32:10.704] | : . | parse_call() ... done [17:32:10.705] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.705] | : . | base::lapply [17:32:10.706] | : . Finding call to be transpiled ... done [17:32:10.707] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.707] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.708] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.708] | : . | Transpiler function: [17:32:10.709] | : . | function (expr, options = NULL) [17:32:10.709] | : . | { [17:32:10.709] | : . | call <- make_call("future_lapply") [17:32:10.709] | : . | fcn <- eval(call) [17:32:10.709] | : . | expr[[1]] <- call [17:32:10.709] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.709] | : . | { [17:32:10.709] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.709] | : . | if (is.null(defaults_base)) { [17:32:10.709] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.709] | : . | } [17:32:10.709] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.709] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.709] | : . | defaults <- defaults[keep] [17:32:10.709] | : . | specified <- attr(options, "specified") [17:32:10.709] | : . | if (length(specified) > 0) { [17:32:10.709] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.709] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.709] | : . | names(options)) [17:32:10.709] | : . | } [17:32:10.709] | : . | specified <- sprintf("future.%s", specified) [17:32:10.709] | : . | names <- setdiff(names(defaults), specified) [17:32:10.709] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.709] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.709] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.709] | : . | options <- options[keep] [17:32:10.709] | : . | options [17:32:10.709] | : . | })(options, fcn)) [17:32:10.709] | : . | expr <- as.call(parts) [17:32:10.709] | : . | expr [17:32:10.709] | : . | } [17:32:10.709] | : . | [17:32:10.710] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.711] | : get_transpiler() ... done [17:32:10.711] | : Transpile call expression ... [17:32:10.712] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:10.712] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:10.712] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:10.714] | : Transpile call expression ... done [17:32:10.714] | : Evaluate transpiled call expression [17:32:10.760] | transpile() ... done [17:32:10.761] futurize() ... done character(0) [17:32:10.763] futurize() ... [17:32:10.764] | transpile() ... [17:32:10.764] | : get_transpiler() ... [17:32:10.765] | : . Finding call to be transpiled ... [17:32:10.766] | : . | descend_wrappers() ... [17:32:10.767] | : . | : Call: [17:32:10.768] | : . | : base::lapply [17:32:10.769] | : . | : parse_call() ... [17:32:10.769] | : . | : . Function: base::lapply(...) [17:32:10.770] | : . | : parse_call() ... done [17:32:10.771] | : . | descend_wrappers() ... done [17:32:10.771] | : . | parse_call() ... [17:32:10.772] | : . | : Function: base::lapply(...) [17:32:10.773] | : . | parse_call() ... done [17:32:10.773] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.774] | : . | base::lapply [17:32:10.775] | : . Finding call to be transpiled ... done [17:32:10.776] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.776] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.777] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.778] | : . | Transpiler function: [17:32:10.778] | : . | function (expr, options = NULL) [17:32:10.778] | : . | { [17:32:10.778] | : . | call <- make_call("future_lapply") [17:32:10.778] | : . | fcn <- eval(call) [17:32:10.778] | : . | expr[[1]] <- call [17:32:10.778] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.778] | : . | { [17:32:10.778] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.778] | : . | if (is.null(defaults_base)) { [17:32:10.778] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.778] | : . | } [17:32:10.778] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.778] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.778] | : . | defaults <- defaults[keep] [17:32:10.778] | : . | specified <- attr(options, "specified") [17:32:10.778] | : . | if (length(specified) > 0) { [17:32:10.778] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.778] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.778] | : . | names(options)) [17:32:10.778] | : . | } [17:32:10.778] | : . | specified <- sprintf("future.%s", specified) [17:32:10.778] | : . | names <- setdiff(names(defaults), specified) [17:32:10.778] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.778] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.778] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.778] | : . | options <- options[keep] [17:32:10.778] | : . | options [17:32:10.778] | : . | })(options, fcn)) [17:32:10.778] | : . | expr <- as.call(parts) [17:32:10.778] | : . | expr [17:32:10.778] | : . | } [17:32:10.778] | : . | [17:32:10.780] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.781] | : get_transpiler() ... done [17:32:10.781] | : Transpile call expression ... [17:32:10.782] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:10.782] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:10.782] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [17:32:10.784] | : Transpile call expression ... done [17:32:10.785] | : Evaluate transpiled call expression [17:32:10.936] | transpile() ... done [17:32:10.937] futurize() ... done Test with RNG: futurize(base::lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [17:32:10.938] futurize() ... [17:32:10.940] | transpile() ... [17:32:10.940] | : get_transpiler() ... [17:32:10.941] | : . Finding call to be transpiled ... [17:32:10.942] | : . | descend_wrappers() ... [17:32:10.943] | : . | : Call: [17:32:10.944] | : . | : base::lapply [17:32:10.945] | : . | : parse_call() ... [17:32:10.946] | : . | : . Function: base::lapply(...) [17:32:10.946] | : . | : parse_call() ... done [17:32:10.947] | : . | descend_wrappers() ... done [17:32:10.947] | : . | parse_call() ... [17:32:10.948] | : . | : Function: base::lapply(...) [17:32:10.949] | : . | parse_call() ... done [17:32:10.949] | : . | Position of call to be transpiled in expression: c(1) [17:32:10.950] | : . | base::lapply [17:32:10.951] | : . Finding call to be transpiled ... done [17:32:10.952] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:10.952] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:10.953] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:10.953] | : . | Transpiler function: [17:32:10.954] | : . | function (expr, options = NULL) [17:32:10.954] | : . | { [17:32:10.954] | : . | call <- make_call("future_lapply") [17:32:10.954] | : . | fcn <- eval(call) [17:32:10.954] | : . | expr[[1]] <- call [17:32:10.954] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:10.954] | : . | { [17:32:10.954] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:10.954] | : . | if (is.null(defaults_base)) { [17:32:10.954] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:10.954] | : . | } [17:32:10.954] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:10.954] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:10.954] | : . | defaults <- defaults[keep] [17:32:10.954] | : . | specified <- attr(options, "specified") [17:32:10.954] | : . | if (length(specified) > 0) { [17:32:10.954] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:10.954] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:10.954] | : . | names(options)) [17:32:10.954] | : . | } [17:32:10.954] | : . | specified <- sprintf("future.%s", specified) [17:32:10.954] | : . | names <- setdiff(names(defaults), specified) [17:32:10.954] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:10.954] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:10.954] | : . | keep <- intersect(names(options), names(defaults)) [17:32:10.954] | : . | options <- options[keep] [17:32:10.954] | : . | options [17:32:10.954] | : . | })(options, fcn)) [17:32:10.954] | : . | expr <- as.call(parts) [17:32:10.954] | : . | expr [17:32:10.954] | : . | } [17:32:10.954] | : . | [17:32:10.955] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:10.956] | : get_transpiler() ... done [17:32:10.957] | : Transpile call expression ... [17:32:10.958] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:10.958] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:10.958] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:10.960] | : Transpile call expression ... done [17:32:10.961] | : Evaluate transpiled call expression [17:32:11.029] | transpile() ... done [17:32:11.030] futurize() ... done === sapply ========================== sapply(X = xs, FUN = FUN) --------------------------------- [17:32:11.031] futurize() ... [17:32:11.032] | transpile() ... [17:32:11.032] | : get_transpiler() ... [17:32:11.033] | : . Finding call to be transpiled ... [17:32:11.034] | : . | descend_wrappers() ... [17:32:11.034] | : . | : Call: [17:32:11.035] | : . | : sapply [17:32:11.035] | : . | : parse_call() ... [17:32:11.036] | : . | : . Function: sapply(...) [17:32:11.037] | : . | : . Locate function ... [17:32:11.038] | : . | : . | Function located in: 'base' [17:32:11.038] | : . | : . Locate function ... done [17:32:11.039] | : . | : parse_call() ... done [17:32:11.040] | : . | descend_wrappers() ... done [17:32:11.040] | : . | parse_call() ... [17:32:11.041] | : . | : Function: sapply(...) [17:32:11.041] | : . | : Locate function ... [17:32:11.042] | : . | : . Function located in: 'base' [17:32:11.043] | : . | : Locate function ... done [17:32:11.043] | : . | parse_call() ... done [17:32:11.044] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.045] | : . | sapply [17:32:11.045] | : . Finding call to be transpiled ... done [17:32:11.046] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.047] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.047] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.048] | : . | Transpiler function: [17:32:11.049] | : . | function (expr, options = NULL) [17:32:11.049] | : . | { [17:32:11.049] | : . | call <- make_call("future_sapply") [17:32:11.049] | : . | fcn <- eval(call) [17:32:11.049] | : . | expr[[1]] <- call [17:32:11.049] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.049] | : . | { [17:32:11.049] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.049] | : . | if (is.null(defaults_base)) { [17:32:11.049] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.049] | : . | } [17:32:11.049] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.049] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.049] | : . | defaults <- defaults[keep] [17:32:11.049] | : . | specified <- attr(options, "specified") [17:32:11.049] | : . | if (length(specified) > 0) { [17:32:11.049] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.049] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.049] | : . | names(options)) [17:32:11.049] | : . | } [17:32:11.049] | : . | specified <- sprintf("future.%s", specified) [17:32:11.049] | : . | names <- setdiff(names(defaults), specified) [17:32:11.049] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.049] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.049] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.049] | : . | options <- options[keep] [17:32:11.049] | : . | options [17:32:11.049] | : . | })(options, fcn)) [17:32:11.049] | : . | expr <- as.call(parts) [17:32:11.049] | : . | expr [17:32:11.049] | : . | } [17:32:11.049] | : . | [17:32:11.051] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.052] | : get_transpiler() ... done [17:32:11.053] | : Transpile call expression ... [17:32:11.055] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:11.055] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:11.055] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.056] | : Transpile call expression ... done [17:32:11.057] | : Evaluate transpiled call expression [17:32:11.119] | transpile() ... done [17:32:11.121] futurize() ... done Futures created: 2 [17:32:11.122] futurize() ... [17:32:11.123] | transpile() ... [17:32:11.124] | : get_transpiler() ... [17:32:11.125] | : . Finding call to be transpiled ... [17:32:11.126] | : . | descend_wrappers() ... [17:32:11.126] | : . | : Call: [17:32:11.127] | : . | : sapply [17:32:11.128] | : . | : parse_call() ... [17:32:11.129] | : . | : . Function: sapply(...) [17:32:11.130] | : . | : . Locate function ... [17:32:11.131] | : . | : . | Function located in: 'base' [17:32:11.132] | : . | : . Locate function ... done [17:32:11.133] | : . | : parse_call() ... done [17:32:11.134] | : . | descend_wrappers() ... done [17:32:11.134] | : . | parse_call() ... [17:32:11.135] | : . | : Function: sapply(...) [17:32:11.136] | : . | : Locate function ... [17:32:11.137] | : . | : . Function located in: 'base' [17:32:11.138] | : . | : Locate function ... done [17:32:11.138] | : . | parse_call() ... done [17:32:11.139] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.140] | : . | sapply [17:32:11.141] | : . Finding call to be transpiled ... done [17:32:11.142] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.143] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.144] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.145] | : . | Transpiler function: [17:32:11.145] | : . | function (expr, options = NULL) [17:32:11.145] | : . | { [17:32:11.145] | : . | call <- make_call("future_sapply") [17:32:11.145] | : . | fcn <- eval(call) [17:32:11.145] | : . | expr[[1]] <- call [17:32:11.145] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.145] | : . | { [17:32:11.145] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.145] | : . | if (is.null(defaults_base)) { [17:32:11.145] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.145] | : . | } [17:32:11.145] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.145] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.145] | : . | defaults <- defaults[keep] [17:32:11.145] | : . | specified <- attr(options, "specified") [17:32:11.145] | : . | if (length(specified) > 0) { [17:32:11.145] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.145] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.145] | : . | names(options)) [17:32:11.145] | : . | } [17:32:11.145] | : . | specified <- sprintf("future.%s", specified) [17:32:11.145] | : . | names <- setdiff(names(defaults), specified) [17:32:11.145] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.145] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.145] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.145] | : . | options <- options[keep] [17:32:11.145] | : . | options [17:32:11.145] | : . | })(options, fcn)) [17:32:11.145] | : . | expr <- as.call(parts) [17:32:11.145] | : . | expr [17:32:11.145] | : . | } [17:32:11.145] | : . | [17:32:11.147] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.148] | : get_transpiler() ... done [17:32:11.149] | : Transpile call expression ... [17:32:11.150] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:11.150] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:11.150] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.152] | : Transpile call expression ... done [17:32:11.153] | : Evaluate transpiled call expression [17:32:11.211] | transpile() ... done [17:32:11.212] futurize() ... done character(0) [17:32:11.213] futurize() ... [17:32:11.214] | transpile() ... [17:32:11.215] | : get_transpiler() ... [17:32:11.216] | : . Finding call to be transpiled ... [17:32:11.217] | : . | descend_wrappers() ... [17:32:11.217] | : . | : Call: [17:32:11.218] | : . | : sapply [17:32:11.219] | : . | : parse_call() ... [17:32:11.220] | : . | : . Function: sapply(...) [17:32:11.221] | : . | : . Locate function ... [17:32:11.221] | : . | : . | Function located in: 'base' [17:32:11.222] | : . | : . Locate function ... done [17:32:11.223] | : . | : parse_call() ... done [17:32:11.224] | : . | descend_wrappers() ... done [17:32:11.224] | : . | parse_call() ... [17:32:11.225] | : . | : Function: sapply(...) [17:32:11.225] | : . | : Locate function ... [17:32:11.226] | : . | : . Function located in: 'base' [17:32:11.227] | : . | : Locate function ... done [17:32:11.227] | : . | parse_call() ... done [17:32:11.228] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.228] | : . | sapply [17:32:11.229] | : . Finding call to be transpiled ... done [17:32:11.229] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.230] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.231] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.231] | : . | Transpiler function: [17:32:11.232] | : . | function (expr, options = NULL) [17:32:11.232] | : . | { [17:32:11.232] | : . | call <- make_call("future_sapply") [17:32:11.232] | : . | fcn <- eval(call) [17:32:11.232] | : . | expr[[1]] <- call [17:32:11.232] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.232] | : . | { [17:32:11.232] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.232] | : . | if (is.null(defaults_base)) { [17:32:11.232] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.232] | : . | } [17:32:11.232] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.232] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.232] | : . | defaults <- defaults[keep] [17:32:11.232] | : . | specified <- attr(options, "specified") [17:32:11.232] | : . | if (length(specified) > 0) { [17:32:11.232] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.232] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.232] | : . | names(options)) [17:32:11.232] | : . | } [17:32:11.232] | : . | specified <- sprintf("future.%s", specified) [17:32:11.232] | : . | names <- setdiff(names(defaults), specified) [17:32:11.232] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.232] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.232] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.232] | : . | options <- options[keep] [17:32:11.232] | : . | options [17:32:11.232] | : . | })(options, fcn)) [17:32:11.232] | : . | expr <- as.call(parts) [17:32:11.232] | : . | expr [17:32:11.232] | : . | } [17:32:11.232] | : . | [17:32:11.233] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.233] | : get_transpiler() ... done [17:32:11.234] | : Transpile call expression ... [17:32:11.235] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:11.235] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:11.235] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [17:32:11.236] | : Transpile call expression ... done [17:32:11.237] | : Evaluate transpiled call expression [17:32:11.372] | transpile() ... done [17:32:11.373] futurize() ... done Test with RNG: futurize(sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [17:32:11.374] futurize() ... [17:32:11.376] | transpile() ... [17:32:11.377] | : get_transpiler() ... [17:32:11.378] | : . Finding call to be transpiled ... [17:32:11.379] | : . | descend_wrappers() ... [17:32:11.380] | : . | : Call: [17:32:11.380] | : . | : sapply [17:32:11.382] | : . | : parse_call() ... [17:32:11.382] | : . | : . Function: sapply(...) [17:32:11.383] | : . | : . Locate function ... [17:32:11.384] | : . | : . | Function located in: 'base' [17:32:11.385] | : . | : . Locate function ... done [17:32:11.386] | : . | : parse_call() ... done [17:32:11.387] | : . | descend_wrappers() ... done [17:32:11.387] | : . | parse_call() ... [17:32:11.388] | : . | : Function: sapply(...) [17:32:11.389] | : . | : Locate function ... [17:32:11.389] | : . | : . Function located in: 'base' [17:32:11.390] | : . | : Locate function ... done [17:32:11.391] | : . | parse_call() ... done [17:32:11.392] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.393] | : . | sapply [17:32:11.394] | : . Finding call to be transpiled ... done [17:32:11.395] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.397] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.398] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.399] | : . | Transpiler function: [17:32:11.400] | : . | function (expr, options = NULL) [17:32:11.400] | : . | { [17:32:11.400] | : . | call <- make_call("future_sapply") [17:32:11.400] | : . | fcn <- eval(call) [17:32:11.400] | : . | expr[[1]] <- call [17:32:11.400] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.400] | : . | { [17:32:11.400] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.400] | : . | if (is.null(defaults_base)) { [17:32:11.400] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.400] | : . | } [17:32:11.400] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.400] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.400] | : . | defaults <- defaults[keep] [17:32:11.400] | : . | specified <- attr(options, "specified") [17:32:11.400] | : . | if (length(specified) > 0) { [17:32:11.400] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.400] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.400] | : . | names(options)) [17:32:11.400] | : . | } [17:32:11.400] | : . | specified <- sprintf("future.%s", specified) [17:32:11.400] | : . | names <- setdiff(names(defaults), specified) [17:32:11.400] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.400] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.400] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.400] | : . | options <- options[keep] [17:32:11.400] | : . | options [17:32:11.400] | : . | })(options, fcn)) [17:32:11.400] | : . | expr <- as.call(parts) [17:32:11.400] | : . | expr [17:32:11.400] | : . | } [17:32:11.400] | : . | [17:32:11.402] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.403] | : get_transpiler() ... done [17:32:11.404] | : Transpile call expression ... [17:32:11.405] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:11.405] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:11.405] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.407] | : Transpile call expression ... done [17:32:11.408] | : Evaluate transpiled call expression [17:32:11.487] | transpile() ... done [17:32:11.488] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN) --------------------------------- [17:32:11.489] futurize() ... [17:32:11.490] | transpile() ... [17:32:11.491] | : get_transpiler() ... [17:32:11.492] | : . Finding call to be transpiled ... [17:32:11.493] | : . | descend_wrappers() ... [17:32:11.493] | : . | : Call: [17:32:11.494] | : . | : base::sapply [17:32:11.495] | : . | : parse_call() ... [17:32:11.496] | : . | : . Function: base::sapply(...) [17:32:11.497] | : . | : parse_call() ... done [17:32:11.498] | : . | descend_wrappers() ... done [17:32:11.499] | : . | parse_call() ... [17:32:11.500] | : . | : Function: base::sapply(...) [17:32:11.501] | : . | parse_call() ... done [17:32:11.502] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.503] | : . | base::sapply [17:32:11.504] | : . Finding call to be transpiled ... done [17:32:11.504] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.505] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.506] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.507] | : . | Transpiler function: [17:32:11.508] | : . | function (expr, options = NULL) [17:32:11.508] | : . | { [17:32:11.508] | : . | call <- make_call("future_sapply") [17:32:11.508] | : . | fcn <- eval(call) [17:32:11.508] | : . | expr[[1]] <- call [17:32:11.508] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.508] | : . | { [17:32:11.508] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.508] | : . | if (is.null(defaults_base)) { [17:32:11.508] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.508] | : . | } [17:32:11.508] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.508] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.508] | : . | defaults <- defaults[keep] [17:32:11.508] | : . | specified <- attr(options, "specified") [17:32:11.508] | : . | if (length(specified) > 0) { [17:32:11.508] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.508] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.508] | : . | names(options)) [17:32:11.508] | : . | } [17:32:11.508] | : . | specified <- sprintf("future.%s", specified) [17:32:11.508] | : . | names <- setdiff(names(defaults), specified) [17:32:11.508] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.508] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.508] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.508] | : . | options <- options[keep] [17:32:11.508] | : . | options [17:32:11.508] | : . | })(options, fcn)) [17:32:11.508] | : . | expr <- as.call(parts) [17:32:11.508] | : . | expr [17:32:11.508] | : . | } [17:32:11.508] | : . | [17:32:11.510] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.511] | : get_transpiler() ... done [17:32:11.512] | : Transpile call expression ... [17:32:11.513] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:11.513] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:11.513] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.515] | : Transpile call expression ... done [17:32:11.515] | : Evaluate transpiled call expression [17:32:11.570] | transpile() ... done [17:32:11.571] futurize() ... done Futures created: 2 [17:32:11.572] futurize() ... [17:32:11.573] | transpile() ... [17:32:11.574] | : get_transpiler() ... [17:32:11.575] | : . Finding call to be transpiled ... [17:32:11.575] | : . | descend_wrappers() ... [17:32:11.576] | : . | : Call: [17:32:11.577] | : . | : base::sapply [17:32:11.578] | : . | : parse_call() ... [17:32:11.579] | : . | : . Function: base::sapply(...) [17:32:11.580] | : . | : parse_call() ... done [17:32:11.581] | : . | descend_wrappers() ... done [17:32:11.581] | : . | parse_call() ... [17:32:11.582] | : . | : Function: base::sapply(...) [17:32:11.583] | : . | parse_call() ... done [17:32:11.584] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.585] | : . | base::sapply [17:32:11.585] | : . Finding call to be transpiled ... done [17:32:11.586] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.587] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.588] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.589] | : . | Transpiler function: [17:32:11.590] | : . | function (expr, options = NULL) [17:32:11.590] | : . | { [17:32:11.590] | : . | call <- make_call("future_sapply") [17:32:11.590] | : . | fcn <- eval(call) [17:32:11.590] | : . | expr[[1]] <- call [17:32:11.590] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.590] | : . | { [17:32:11.590] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.590] | : . | if (is.null(defaults_base)) { [17:32:11.590] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.590] | : . | } [17:32:11.590] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.590] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.590] | : . | defaults <- defaults[keep] [17:32:11.590] | : . | specified <- attr(options, "specified") [17:32:11.590] | : . | if (length(specified) > 0) { [17:32:11.590] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.590] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.590] | : . | names(options)) [17:32:11.590] | : . | } [17:32:11.590] | : . | specified <- sprintf("future.%s", specified) [17:32:11.590] | : . | names <- setdiff(names(defaults), specified) [17:32:11.590] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.590] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.590] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.590] | : . | options <- options[keep] [17:32:11.590] | : . | options [17:32:11.590] | : . | })(options, fcn)) [17:32:11.590] | : . | expr <- as.call(parts) [17:32:11.590] | : . | expr [17:32:11.590] | : . | } [17:32:11.590] | : . | [17:32:11.591] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.592] | : get_transpiler() ... done [17:32:11.593] | : Transpile call expression ... [17:32:11.594] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:11.594] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:11.594] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.596] | : Transpile call expression ... done [17:32:11.597] | : Evaluate transpiled call expression [17:32:11.666] | transpile() ... done [17:32:11.667] futurize() ... done character(0) [17:32:11.668] futurize() ... [17:32:11.669] | transpile() ... [17:32:11.670] | : get_transpiler() ... [17:32:11.671] | : . Finding call to be transpiled ... [17:32:11.672] | : . | descend_wrappers() ... [17:32:11.673] | : . | : Call: [17:32:11.673] | : . | : base::sapply [17:32:11.675] | : . | : parse_call() ... [17:32:11.676] | : . | : . Function: base::sapply(...) [17:32:11.677] | : . | : parse_call() ... done [17:32:11.678] | : . | descend_wrappers() ... done [17:32:11.679] | : . | parse_call() ... [17:32:11.680] | : . | : Function: base::sapply(...) [17:32:11.681] | : . | parse_call() ... done [17:32:11.681] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.682] | : . | base::sapply [17:32:11.683] | : . Finding call to be transpiled ... done [17:32:11.684] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.685] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.686] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.687] | : . | Transpiler function: [17:32:11.689] | : . | function (expr, options = NULL) [17:32:11.689] | : . | { [17:32:11.689] | : . | call <- make_call("future_sapply") [17:32:11.689] | : . | fcn <- eval(call) [17:32:11.689] | : . | expr[[1]] <- call [17:32:11.689] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.689] | : . | { [17:32:11.689] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.689] | : . | if (is.null(defaults_base)) { [17:32:11.689] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.689] | : . | } [17:32:11.689] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.689] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.689] | : . | defaults <- defaults[keep] [17:32:11.689] | : . | specified <- attr(options, "specified") [17:32:11.689] | : . | if (length(specified) > 0) { [17:32:11.689] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.689] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.689] | : . | names(options)) [17:32:11.689] | : . | } [17:32:11.689] | : . | specified <- sprintf("future.%s", specified) [17:32:11.689] | : . | names <- setdiff(names(defaults), specified) [17:32:11.689] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.689] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.689] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.689] | : . | options <- options[keep] [17:32:11.689] | : . | options [17:32:11.689] | : . | })(options, fcn)) [17:32:11.689] | : . | expr <- as.call(parts) [17:32:11.689] | : . | expr [17:32:11.689] | : . | } [17:32:11.689] | : . | [17:32:11.691] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.693] | : get_transpiler() ... done [17:32:11.694] | : Transpile call expression ... [17:32:11.696] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:11.696] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:11.696] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [17:32:11.698] | : Transpile call expression ... done [17:32:11.700] | : Evaluate transpiled call expression [17:32:11.859] | transpile() ... done [17:32:11.860] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [17:32:11.861] futurize() ... [17:32:11.862] | transpile() ... [17:32:11.867] | : get_transpiler() ... [17:32:11.868] | : . Finding call to be transpiled ... [17:32:11.869] | : . | descend_wrappers() ... [17:32:11.870] | : . | : Call: [17:32:11.871] | : . | : base::sapply [17:32:11.872] | : . | : parse_call() ... [17:32:11.873] | : . | : . Function: base::sapply(...) [17:32:11.874] | : . | : parse_call() ... done [17:32:11.875] | : . | descend_wrappers() ... done [17:32:11.876] | : . | parse_call() ... [17:32:11.877] | : . | : Function: base::sapply(...) [17:32:11.878] | : . | parse_call() ... done [17:32:11.879] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.880] | : . | base::sapply [17:32:11.881] | : . Finding call to be transpiled ... done [17:32:11.882] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.883] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.884] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.884] | : . | Transpiler function: [17:32:11.885] | : . | function (expr, options = NULL) [17:32:11.885] | : . | { [17:32:11.885] | : . | call <- make_call("future_sapply") [17:32:11.885] | : . | fcn <- eval(call) [17:32:11.885] | : . | expr[[1]] <- call [17:32:11.885] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.885] | : . | { [17:32:11.885] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.885] | : . | if (is.null(defaults_base)) { [17:32:11.885] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.885] | : . | } [17:32:11.885] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.885] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.885] | : . | defaults <- defaults[keep] [17:32:11.885] | : . | specified <- attr(options, "specified") [17:32:11.885] | : . | if (length(specified) > 0) { [17:32:11.885] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.885] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.885] | : . | names(options)) [17:32:11.885] | : . | } [17:32:11.885] | : . | specified <- sprintf("future.%s", specified) [17:32:11.885] | : . | names <- setdiff(names(defaults), specified) [17:32:11.885] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.885] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.885] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.885] | : . | options <- options[keep] [17:32:11.885] | : . | options [17:32:11.885] | : . | })(options, fcn)) [17:32:11.885] | : . | expr <- as.call(parts) [17:32:11.885] | : . | expr [17:32:11.885] | : . | } [17:32:11.885] | : . | [17:32:11.887] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.888] | : get_transpiler() ... done [17:32:11.889] | : Transpile call expression ... [17:32:11.890] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:11.890] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:11.890] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.891] | : Transpile call expression ... done [17:32:11.892] | : Evaluate transpiled call expression [17:32:11.942] | transpile() ... done [17:32:11.943] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, simplify = FALSE) --------------------------------- [17:32:11.944] futurize() ... [17:32:11.945] | transpile() ... [17:32:11.946] | : get_transpiler() ... [17:32:11.947] | : . Finding call to be transpiled ... [17:32:11.947] | : . | descend_wrappers() ... [17:32:11.948] | : . | : Call: [17:32:11.949] | : . | : base::sapply [17:32:11.950] | : . | : parse_call() ... [17:32:11.950] | : . | : . Function: base::sapply(...) [17:32:11.951] | : . | : parse_call() ... done [17:32:11.952] | : . | descend_wrappers() ... done [17:32:11.952] | : . | parse_call() ... [17:32:11.953] | : . | : Function: base::sapply(...) [17:32:11.954] | : . | parse_call() ... done [17:32:11.954] | : . | Position of call to be transpiled in expression: c(1) [17:32:11.955] | : . | base::sapply [17:32:11.956] | : . Finding call to be transpiled ... done [17:32:11.957] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:11.958] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:11.958] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:11.959] | : . | Transpiler function: [17:32:11.960] | : . | function (expr, options = NULL) [17:32:11.960] | : . | { [17:32:11.960] | : . | call <- make_call("future_sapply") [17:32:11.960] | : . | fcn <- eval(call) [17:32:11.960] | : . | expr[[1]] <- call [17:32:11.960] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:11.960] | : . | { [17:32:11.960] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:11.960] | : . | if (is.null(defaults_base)) { [17:32:11.960] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:11.960] | : . | } [17:32:11.960] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:11.960] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:11.960] | : . | defaults <- defaults[keep] [17:32:11.960] | : . | specified <- attr(options, "specified") [17:32:11.960] | : . | if (length(specified) > 0) { [17:32:11.960] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:11.960] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:11.960] | : . | names(options)) [17:32:11.960] | : . | } [17:32:11.960] | : . | specified <- sprintf("future.%s", specified) [17:32:11.960] | : . | names <- setdiff(names(defaults), specified) [17:32:11.960] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:11.960] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:11.960] | : . | keep <- intersect(names(options), names(defaults)) [17:32:11.960] | : . | options <- options[keep] [17:32:11.960] | : . | options [17:32:11.960] | : . | })(options, fcn)) [17:32:11.960] | : . | expr <- as.call(parts) [17:32:11.960] | : . | expr [17:32:11.960] | : . | } [17:32:11.960] | : . | [17:32:11.961] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:11.962] | : get_transpiler() ... done [17:32:11.962] | : Transpile call expression ... [17:32:11.963] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:11.963] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:11.963] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:11.965] | : Transpile call expression ... done [17:32:11.966] | : Evaluate transpiled call expression [17:32:12.019] | transpile() ... done [17:32:12.020] futurize() ... done Futures created: 2 [17:32:12.021] futurize() ... [17:32:12.021] | transpile() ... [17:32:12.022] | : get_transpiler() ... [17:32:12.023] | : . Finding call to be transpiled ... [17:32:12.024] | : . | descend_wrappers() ... [17:32:12.024] | : . | : Call: [17:32:12.025] | : . | : base::sapply [17:32:12.026] | : . | : parse_call() ... [17:32:12.026] | : . | : . Function: base::sapply(...) [17:32:12.027] | : . | : parse_call() ... done [17:32:12.028] | : . | descend_wrappers() ... done [17:32:12.029] | : . | parse_call() ... [17:32:12.029] | : . | : Function: base::sapply(...) [17:32:12.030] | : . | parse_call() ... done [17:32:12.031] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.031] | : . | base::sapply [17:32:12.032] | : . Finding call to be transpiled ... done [17:32:12.033] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.034] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.034] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.035] | : . | Transpiler function: [17:32:12.036] | : . | function (expr, options = NULL) [17:32:12.036] | : . | { [17:32:12.036] | : . | call <- make_call("future_sapply") [17:32:12.036] | : . | fcn <- eval(call) [17:32:12.036] | : . | expr[[1]] <- call [17:32:12.036] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.036] | : . | { [17:32:12.036] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.036] | : . | if (is.null(defaults_base)) { [17:32:12.036] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.036] | : . | } [17:32:12.036] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.036] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.036] | : . | defaults <- defaults[keep] [17:32:12.036] | : . | specified <- attr(options, "specified") [17:32:12.036] | : . | if (length(specified) > 0) { [17:32:12.036] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.036] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.036] | : . | names(options)) [17:32:12.036] | : . | } [17:32:12.036] | : . | specified <- sprintf("future.%s", specified) [17:32:12.036] | : . | names <- setdiff(names(defaults), specified) [17:32:12.036] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.036] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.036] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.036] | : . | options <- options[keep] [17:32:12.036] | : . | options [17:32:12.036] | : . | })(options, fcn)) [17:32:12.036] | : . | expr <- as.call(parts) [17:32:12.036] | : . | expr [17:32:12.036] | : . | } [17:32:12.036] | : . | [17:32:12.037] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.037] | : get_transpiler() ... done [17:32:12.038] | : Transpile call expression ... [17:32:12.039] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:12.039] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:12.039] | : . future.conditions = character(0), future.scheduling = 1, [17:32:12.039] | : . future.label = "future_sapply-%d") [17:32:12.040] | : Transpile call expression ... done [17:32:12.041] | : Evaluate transpiled call expression [17:32:12.084] | transpile() ... done [17:32:12.085] futurize() ... done character(0) [17:32:12.086] futurize() ... [17:32:12.087] | transpile() ... [17:32:12.087] | : get_transpiler() ... [17:32:12.088] | : . Finding call to be transpiled ... [17:32:12.089] | : . | descend_wrappers() ... [17:32:12.089] | : . | : Call: [17:32:12.090] | : . | : base::sapply [17:32:12.091] | : . | : parse_call() ... [17:32:12.091] | : . | : . Function: base::sapply(...) [17:32:12.092] | : . | : parse_call() ... done [17:32:12.092] | : . | descend_wrappers() ... done [17:32:12.093] | : . | parse_call() ... [17:32:12.094] | : . | : Function: base::sapply(...) [17:32:12.094] | : . | parse_call() ... done [17:32:12.095] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.095] | : . | base::sapply [17:32:12.096] | : . Finding call to be transpiled ... done [17:32:12.097] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.097] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.098] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.099] | : . | Transpiler function: [17:32:12.099] | : . | function (expr, options = NULL) [17:32:12.099] | : . | { [17:32:12.099] | : . | call <- make_call("future_sapply") [17:32:12.099] | : . | fcn <- eval(call) [17:32:12.099] | : . | expr[[1]] <- call [17:32:12.099] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.099] | : . | { [17:32:12.099] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.099] | : . | if (is.null(defaults_base)) { [17:32:12.099] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.099] | : . | } [17:32:12.099] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.099] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.099] | : . | defaults <- defaults[keep] [17:32:12.099] | : . | specified <- attr(options, "specified") [17:32:12.099] | : . | if (length(specified) > 0) { [17:32:12.099] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.099] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.099] | : . | names(options)) [17:32:12.099] | : . | } [17:32:12.099] | : . | specified <- sprintf("future.%s", specified) [17:32:12.099] | : . | names <- setdiff(names(defaults), specified) [17:32:12.099] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.099] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.099] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.099] | : . | options <- options[keep] [17:32:12.099] | : . | options [17:32:12.099] | : . | })(options, fcn)) [17:32:12.099] | : . | expr <- as.call(parts) [17:32:12.099] | : . | expr [17:32:12.099] | : . | } [17:32:12.099] | : . | [17:32:12.100] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.101] | : get_transpiler() ... done [17:32:12.101] | : Transpile call expression ... [17:32:12.102] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:12.102] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:12.102] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:12.102] | : . future.label = "future_sapply-%d") [17:32:12.104] | : Transpile call expression ... done [17:32:12.105] | : Evaluate transpiled call expression [17:32:12.197] | transpile() ... done [17:32:12.198] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, simplify = FALSE), seed = TRUE, flavor = "add-on") [17:32:12.199] futurize() ... [17:32:12.200] | transpile() ... [17:32:12.200] | : get_transpiler() ... [17:32:12.201] | : . Finding call to be transpiled ... [17:32:12.202] | : . | descend_wrappers() ... [17:32:12.202] | : . | : Call: [17:32:12.203] | : . | : base::sapply [17:32:12.204] | : . | : parse_call() ... [17:32:12.204] | : . | : . Function: base::sapply(...) [17:32:12.205] | : . | : parse_call() ... done [17:32:12.205] | : . | descend_wrappers() ... done [17:32:12.206] | : . | parse_call() ... [17:32:12.207] | : . | : Function: base::sapply(...) [17:32:12.207] | : . | parse_call() ... done [17:32:12.208] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.208] | : . | base::sapply [17:32:12.209] | : . Finding call to be transpiled ... done [17:32:12.210] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.210] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.211] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.212] | : . | Transpiler function: [17:32:12.212] | : . | function (expr, options = NULL) [17:32:12.212] | : . | { [17:32:12.212] | : . | call <- make_call("future_sapply") [17:32:12.212] | : . | fcn <- eval(call) [17:32:12.212] | : . | expr[[1]] <- call [17:32:12.212] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.212] | : . | { [17:32:12.212] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.212] | : . | if (is.null(defaults_base)) { [17:32:12.212] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.212] | : . | } [17:32:12.212] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.212] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.212] | : . | defaults <- defaults[keep] [17:32:12.212] | : . | specified <- attr(options, "specified") [17:32:12.212] | : . | if (length(specified) > 0) { [17:32:12.212] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.212] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.212] | : . | names(options)) [17:32:12.212] | : . | } [17:32:12.212] | : . | specified <- sprintf("future.%s", specified) [17:32:12.212] | : . | names <- setdiff(names(defaults), specified) [17:32:12.212] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.212] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.212] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.212] | : . | options <- options[keep] [17:32:12.212] | : . | options [17:32:12.212] | : . | })(options, fcn)) [17:32:12.212] | : . | expr <- as.call(parts) [17:32:12.212] | : . | expr [17:32:12.212] | : . | } [17:32:12.212] | : . | [17:32:12.214] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.214] | : get_transpiler() ... done [17:32:12.215] | : Transpile call expression ... [17:32:12.216] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:12.216] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:12.216] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:12.217] | : Transpile call expression ... done [17:32:12.218] | : Evaluate transpiled call expression [17:32:12.267] | transpile() ... done [17:32:12.268] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [17:32:12.269] futurize() ... [17:32:12.270] | transpile() ... [17:32:12.271] | : get_transpiler() ... [17:32:12.271] | : . Finding call to be transpiled ... [17:32:12.272] | : . | descend_wrappers() ... [17:32:12.272] | : . | : Call: [17:32:12.273] | : . | : base::sapply [17:32:12.274] | : . | : parse_call() ... [17:32:12.274] | : . | : . Function: base::sapply(...) [17:32:12.275] | : . | : parse_call() ... done [17:32:12.276] | : . | descend_wrappers() ... done [17:32:12.276] | : . | parse_call() ... [17:32:12.277] | : . | : Function: base::sapply(...) [17:32:12.277] | : . | parse_call() ... done [17:32:12.278] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.279] | : . | base::sapply [17:32:12.279] | : . Finding call to be transpiled ... done [17:32:12.280] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.281] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.281] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.282] | : . | Transpiler function: [17:32:12.283] | : . | function (expr, options = NULL) [17:32:12.283] | : . | { [17:32:12.283] | : . | call <- make_call("future_sapply") [17:32:12.283] | : . | fcn <- eval(call) [17:32:12.283] | : . | expr[[1]] <- call [17:32:12.283] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.283] | : . | { [17:32:12.283] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.283] | : . | if (is.null(defaults_base)) { [17:32:12.283] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.283] | : . | } [17:32:12.283] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.283] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.283] | : . | defaults <- defaults[keep] [17:32:12.283] | : . | specified <- attr(options, "specified") [17:32:12.283] | : . | if (length(specified) > 0) { [17:32:12.283] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.283] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.283] | : . | names(options)) [17:32:12.283] | : . | } [17:32:12.283] | : . | specified <- sprintf("future.%s", specified) [17:32:12.283] | : . | names <- setdiff(names(defaults), specified) [17:32:12.283] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.283] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.283] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.283] | : . | options <- options[keep] [17:32:12.283] | : . | options [17:32:12.283] | : . | })(options, fcn)) [17:32:12.283] | : . | expr <- as.call(parts) [17:32:12.283] | : . | expr [17:32:12.283] | : . | } [17:32:12.283] | : . | [17:32:12.284] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.284] | : get_transpiler() ... done [17:32:12.285] | : Transpile call expression ... [17:32:12.286] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:12.286] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:12.286] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:12.287] | : Transpile call expression ... done [17:32:12.288] | : Evaluate transpiled call expression [17:32:12.349] | transpile() ... done [17:32:12.350] futurize() ... done Futures created: 2 [17:32:12.352] futurize() ... [17:32:12.353] | transpile() ... [17:32:12.354] | : get_transpiler() ... [17:32:12.355] | : . Finding call to be transpiled ... [17:32:12.356] | : . | descend_wrappers() ... [17:32:12.357] | : . | : Call: [17:32:12.357] | : . | : base::sapply [17:32:12.359] | : . | : parse_call() ... [17:32:12.359] | : . | : . Function: base::sapply(...) [17:32:12.360] | : . | : parse_call() ... done [17:32:12.361] | : . | descend_wrappers() ... done [17:32:12.362] | : . | parse_call() ... [17:32:12.363] | : . | : Function: base::sapply(...) [17:32:12.364] | : . | parse_call() ... done [17:32:12.365] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.366] | : . | base::sapply [17:32:12.367] | : . Finding call to be transpiled ... done [17:32:12.368] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.369] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.370] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.371] | : . | Transpiler function: [17:32:12.372] | : . | function (expr, options = NULL) [17:32:12.372] | : . | { [17:32:12.372] | : . | call <- make_call("future_sapply") [17:32:12.372] | : . | fcn <- eval(call) [17:32:12.372] | : . | expr[[1]] <- call [17:32:12.372] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.372] | : . | { [17:32:12.372] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.372] | : . | if (is.null(defaults_base)) { [17:32:12.372] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.372] | : . | } [17:32:12.372] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.372] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.372] | : . | defaults <- defaults[keep] [17:32:12.372] | : . | specified <- attr(options, "specified") [17:32:12.372] | : . | if (length(specified) > 0) { [17:32:12.372] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.372] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.372] | : . | names(options)) [17:32:12.372] | : . | } [17:32:12.372] | : . | specified <- sprintf("future.%s", specified) [17:32:12.372] | : . | names <- setdiff(names(defaults), specified) [17:32:12.372] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.372] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.372] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.372] | : . | options <- options[keep] [17:32:12.372] | : . | options [17:32:12.372] | : . | })(options, fcn)) [17:32:12.372] | : . | expr <- as.call(parts) [17:32:12.372] | : . | expr [17:32:12.372] | : . | } [17:32:12.372] | : . | [17:32:12.374] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.375] | : get_transpiler() ... done [17:32:12.375] | : Transpile call expression ... [17:32:12.377] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:12.377] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:12.377] | : . future.conditions = character(0), future.scheduling = 1, [17:32:12.377] | : . future.label = "future_sapply-%d") [17:32:12.379] | : Transpile call expression ... done [17:32:12.380] | : Evaluate transpiled call expression [17:32:12.452] | transpile() ... done [17:32:12.453] futurize() ... done character(0) [17:32:12.454] futurize() ... [17:32:12.454] | transpile() ... [17:32:12.455] | : get_transpiler() ... [17:32:12.456] | : . Finding call to be transpiled ... [17:32:12.457] | : . | descend_wrappers() ... [17:32:12.458] | : . | : Call: [17:32:12.459] | : . | : base::sapply [17:32:12.461] | : . | : parse_call() ... [17:32:12.462] | : . | : . Function: base::sapply(...) [17:32:12.463] | : . | : parse_call() ... done [17:32:12.463] | : . | descend_wrappers() ... done [17:32:12.464] | : . | parse_call() ... [17:32:12.465] | : . | : Function: base::sapply(...) [17:32:12.466] | : . | parse_call() ... done [17:32:12.467] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.468] | : . | base::sapply [17:32:12.469] | : . Finding call to be transpiled ... done [17:32:12.470] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.471] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.472] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.473] | : . | Transpiler function: [17:32:12.474] | : . | function (expr, options = NULL) [17:32:12.474] | : . | { [17:32:12.474] | : . | call <- make_call("future_sapply") [17:32:12.474] | : . | fcn <- eval(call) [17:32:12.474] | : . | expr[[1]] <- call [17:32:12.474] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.474] | : . | { [17:32:12.474] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.474] | : . | if (is.null(defaults_base)) { [17:32:12.474] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.474] | : . | } [17:32:12.474] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.474] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.474] | : . | defaults <- defaults[keep] [17:32:12.474] | : . | specified <- attr(options, "specified") [17:32:12.474] | : . | if (length(specified) > 0) { [17:32:12.474] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.474] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.474] | : . | names(options)) [17:32:12.474] | : . | } [17:32:12.474] | : . | specified <- sprintf("future.%s", specified) [17:32:12.474] | : . | names <- setdiff(names(defaults), specified) [17:32:12.474] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.474] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.474] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.474] | : . | options <- options[keep] [17:32:12.474] | : . | options [17:32:12.474] | : . | })(options, fcn)) [17:32:12.474] | : . | expr <- as.call(parts) [17:32:12.474] | : . | expr [17:32:12.474] | : . | } [17:32:12.474] | : . | [17:32:12.475] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.476] | : get_transpiler() ... done [17:32:12.477] | : Transpile call expression ... [17:32:12.478] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:12.478] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:12.478] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:12.478] | : . future.label = "future_sapply-%d") [17:32:12.481] | : Transpile call expression ... done [17:32:12.481] | : Evaluate transpiled call expression [17:32:12.627] | transpile() ... done [17:32:12.628] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [17:32:12.629] futurize() ... [17:32:12.630] | transpile() ... [17:32:12.631] | : get_transpiler() ... [17:32:12.632] | : . Finding call to be transpiled ... [17:32:12.633] | : . | descend_wrappers() ... [17:32:12.633] | : . | : Call: [17:32:12.634] | : . | : base::sapply [17:32:12.635] | : . | : parse_call() ... [17:32:12.636] | : . | : . Function: base::sapply(...) [17:32:12.637] | : . | : parse_call() ... done [17:32:12.638] | : . | descend_wrappers() ... done [17:32:12.639] | : . | parse_call() ... [17:32:12.640] | : . | : Function: base::sapply(...) [17:32:12.640] | : . | parse_call() ... done [17:32:12.641] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.642] | : . | base::sapply [17:32:12.643] | : . Finding call to be transpiled ... done [17:32:12.644] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:12.645] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.646] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:12.647] | : . | Transpiler function: [17:32:12.648] | : . | function (expr, options = NULL) [17:32:12.648] | : . | { [17:32:12.648] | : . | call <- make_call("future_sapply") [17:32:12.648] | : . | fcn <- eval(call) [17:32:12.648] | : . | expr[[1]] <- call [17:32:12.648] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.648] | : . | { [17:32:12.648] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.648] | : . | if (is.null(defaults_base)) { [17:32:12.648] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.648] | : . | } [17:32:12.648] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.648] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.648] | : . | defaults <- defaults[keep] [17:32:12.648] | : . | specified <- attr(options, "specified") [17:32:12.648] | : . | if (length(specified) > 0) { [17:32:12.648] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.648] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.648] | : . | names(options)) [17:32:12.648] | : . | } [17:32:12.648] | : . | specified <- sprintf("future.%s", specified) [17:32:12.648] | : . | names <- setdiff(names(defaults), specified) [17:32:12.648] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.648] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.648] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.648] | : . | options <- options[keep] [17:32:12.648] | : . | options [17:32:12.648] | : . | })(options, fcn)) [17:32:12.648] | : . | expr <- as.call(parts) [17:32:12.648] | : . | expr [17:32:12.648] | : . | } [17:32:12.648] | : . | [17:32:12.650] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:12.651] | : get_transpiler() ... done [17:32:12.652] | : Transpile call expression ... [17:32:12.653] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:12.653] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:12.653] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:12.655] | : Transpile call expression ... done [17:32:12.656] | : Evaluate transpiled call expression [17:32:12.725] | transpile() ... done [17:32:12.726] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN) --------------------------------- [17:32:12.728] futurize() ... [17:32:12.729] | transpile() ... [17:32:12.730] | : get_transpiler() ... [17:32:12.731] | : . Finding call to be transpiled ... [17:32:12.732] | : . | descend_wrappers() ... [17:32:12.733] | : . | : Call: [17:32:12.734] | : . | : base::vapply [17:32:12.735] | : . | : parse_call() ... [17:32:12.736] | : . | : . Function: base::vapply(...) [17:32:12.737] | : . | : parse_call() ... done [17:32:12.738] | : . | descend_wrappers() ... done [17:32:12.739] | : . | parse_call() ... [17:32:12.740] | : . | : Function: base::vapply(...) [17:32:12.741] | : . | parse_call() ... done [17:32:12.742] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.743] | : . | base::vapply [17:32:12.744] | : . Finding call to be transpiled ... done [17:32:12.745] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:12.746] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.746] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:12.747] | : . | Transpiler function: [17:32:12.748] | : . | function (expr, options = NULL) [17:32:12.748] | : . | { [17:32:12.748] | : . | call <- make_call("future_vapply") [17:32:12.748] | : . | fcn <- eval(call) [17:32:12.748] | : . | expr[[1]] <- call [17:32:12.748] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.748] | : . | { [17:32:12.748] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.748] | : . | if (is.null(defaults_base)) { [17:32:12.748] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.748] | : . | } [17:32:12.748] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.748] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.748] | : . | defaults <- defaults[keep] [17:32:12.748] | : . | specified <- attr(options, "specified") [17:32:12.748] | : . | if (length(specified) > 0) { [17:32:12.748] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.748] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.748] | : . | names(options)) [17:32:12.748] | : . | } [17:32:12.748] | : . | specified <- sprintf("future.%s", specified) [17:32:12.748] | : . | names <- setdiff(names(defaults), specified) [17:32:12.748] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.748] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.748] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.748] | : . | options <- options[keep] [17:32:12.748] | : . | options [17:32:12.748] | : . | })(options, fcn)) [17:32:12.748] | : . | expr <- as.call(parts) [17:32:12.748] | : . | expr [17:32:12.748] | : . | } [17:32:12.748] | : . | [17:32:12.749] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:12.750] | : get_transpiler() ... done [17:32:12.751] | : Transpile call expression ... [17:32:12.752] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:12.752] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:12.752] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [17:32:12.754] | : Transpile call expression ... done [17:32:12.755] | : Evaluate transpiled call expression [17:32:12.855] | transpile() ... done [17:32:12.857] futurize() ... done Futures created: 2 [17:32:12.858] futurize() ... [17:32:12.859] | transpile() ... [17:32:12.860] | : get_transpiler() ... [17:32:12.861] | : . Finding call to be transpiled ... [17:32:12.862] | : . | descend_wrappers() ... [17:32:12.862] | : . | : Call: [17:32:12.863] | : . | : base::vapply [17:32:12.864] | : . | : parse_call() ... [17:32:12.865] | : . | : . Function: base::vapply(...) [17:32:12.866] | : . | : parse_call() ... done [17:32:12.867] | : . | descend_wrappers() ... done [17:32:12.868] | : . | parse_call() ... [17:32:12.869] | : . | : Function: base::vapply(...) [17:32:12.870] | : . | parse_call() ... done [17:32:12.871] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.872] | : . | base::vapply [17:32:12.873] | : . Finding call to be transpiled ... done [17:32:12.874] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:12.875] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:12.876] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:12.876] | : . | Transpiler function: [17:32:12.877] | : . | function (expr, options = NULL) [17:32:12.877] | : . | { [17:32:12.877] | : . | call <- make_call("future_vapply") [17:32:12.877] | : . | fcn <- eval(call) [17:32:12.877] | : . | expr[[1]] <- call [17:32:12.877] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:12.877] | : . | { [17:32:12.877] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:12.877] | : . | if (is.null(defaults_base)) { [17:32:12.877] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:12.877] | : . | } [17:32:12.877] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:12.877] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:12.877] | : . | defaults <- defaults[keep] [17:32:12.877] | : . | specified <- attr(options, "specified") [17:32:12.877] | : . | if (length(specified) > 0) { [17:32:12.877] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:12.877] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:12.877] | : . | names(options)) [17:32:12.877] | : . | } [17:32:12.877] | : . | specified <- sprintf("future.%s", specified) [17:32:12.877] | : . | names <- setdiff(names(defaults), specified) [17:32:12.877] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:12.877] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:12.877] | : . | keep <- intersect(names(options), names(defaults)) [17:32:12.877] | : . | options <- options[keep] [17:32:12.877] | : . | options [17:32:12.877] | : . | })(options, fcn)) [17:32:12.877] | : . | expr <- as.call(parts) [17:32:12.877] | : . | expr [17:32:12.877] | : . | } [17:32:12.877] | : . | [17:32:12.879] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:12.880] | : get_transpiler() ... done [17:32:12.880] | : Transpile call expression ... [17:32:12.882] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:12.882] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:12.882] | : . future.conditions = character(0), future.scheduling = 1, [17:32:12.882] | : . future.label = "future_vapply-%d") [17:32:12.883] | : Transpile call expression ... done [17:32:12.884] | : Evaluate transpiled call expression [17:32:12.979] | transpile() ... done [17:32:12.980] futurize() ... done character(0) [17:32:12.981] futurize() ... [17:32:12.982] | transpile() ... [17:32:12.983] | : get_transpiler() ... [17:32:12.983] | : . Finding call to be transpiled ... [17:32:12.984] | : . | descend_wrappers() ... [17:32:12.985] | : . | : Call: [17:32:12.986] | : . | : base::vapply [17:32:12.987] | : . | : parse_call() ... [17:32:12.987] | : . | : . Function: base::vapply(...) [17:32:12.988] | : . | : parse_call() ... done [17:32:12.989] | : . | descend_wrappers() ... done [17:32:12.990] | : . | parse_call() ... [17:32:12.991] | : . | : Function: base::vapply(...) [17:32:12.992] | : . | parse_call() ... done [17:32:12.995] | : . | Position of call to be transpiled in expression: c(1) [17:32:12.996] | : . | base::vapply [17:32:12.997] | : . Finding call to be transpiled ... done [17:32:12.998] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:12.999] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.000] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:13.000] | : . | Transpiler function: [17:32:13.001] | : . | function (expr, options = NULL) [17:32:13.001] | : . | { [17:32:13.001] | : . | call <- make_call("future_vapply") [17:32:13.001] | : . | fcn <- eval(call) [17:32:13.001] | : . | expr[[1]] <- call [17:32:13.001] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.001] | : . | { [17:32:13.001] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.001] | : . | if (is.null(defaults_base)) { [17:32:13.001] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.001] | : . | } [17:32:13.001] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.001] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.001] | : . | defaults <- defaults[keep] [17:32:13.001] | : . | specified <- attr(options, "specified") [17:32:13.001] | : . | if (length(specified) > 0) { [17:32:13.001] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.001] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.001] | : . | names(options)) [17:32:13.001] | : . | } [17:32:13.001] | : . | specified <- sprintf("future.%s", specified) [17:32:13.001] | : . | names <- setdiff(names(defaults), specified) [17:32:13.001] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.001] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.001] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.001] | : . | options <- options[keep] [17:32:13.001] | : . | options [17:32:13.001] | : . | })(options, fcn)) [17:32:13.001] | : . | expr <- as.call(parts) [17:32:13.001] | : . | expr [17:32:13.001] | : . | } [17:32:13.001] | : . | [17:32:13.002] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:13.003] | : get_transpiler() ... done [17:32:13.004] | : Transpile call expression ... [17:32:13.005] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:13.005] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:13.005] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:13.005] | : . future.label = "future_vapply-%d") [17:32:13.007] | : Transpile call expression ... done [17:32:13.008] | : Evaluate transpiled call expression [17:32:13.203] | transpile() ... done [17:32:13.204] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN), seed = TRUE, flavor = "add-on") [17:32:13.205] futurize() ... [17:32:13.205] | transpile() ... [17:32:13.206] | : get_transpiler() ... [17:32:13.206] | : . Finding call to be transpiled ... [17:32:13.207] | : . | descend_wrappers() ... [17:32:13.208] | : . | : Call: [17:32:13.208] | : . | : base::vapply [17:32:13.209] | : . | : parse_call() ... [17:32:13.209] | : . | : . Function: base::vapply(...) [17:32:13.210] | : . | : parse_call() ... done [17:32:13.211] | : . | descend_wrappers() ... done [17:32:13.211] | : . | parse_call() ... [17:32:13.212] | : . | : Function: base::vapply(...) [17:32:13.212] | : . | parse_call() ... done [17:32:13.213] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.214] | : . | base::vapply [17:32:13.214] | : . Finding call to be transpiled ... done [17:32:13.215] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:13.215] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.216] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:13.217] | : . | Transpiler function: [17:32:13.217] | : . | function (expr, options = NULL) [17:32:13.217] | : . | { [17:32:13.217] | : . | call <- make_call("future_vapply") [17:32:13.217] | : . | fcn <- eval(call) [17:32:13.217] | : . | expr[[1]] <- call [17:32:13.217] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.217] | : . | { [17:32:13.217] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.217] | : . | if (is.null(defaults_base)) { [17:32:13.217] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.217] | : . | } [17:32:13.217] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.217] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.217] | : . | defaults <- defaults[keep] [17:32:13.217] | : . | specified <- attr(options, "specified") [17:32:13.217] | : . | if (length(specified) > 0) { [17:32:13.217] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.217] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.217] | : . | names(options)) [17:32:13.217] | : . | } [17:32:13.217] | : . | specified <- sprintf("future.%s", specified) [17:32:13.217] | : . | names <- setdiff(names(defaults), specified) [17:32:13.217] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.217] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.217] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.217] | : . | options <- options[keep] [17:32:13.217] | : . | options [17:32:13.217] | : . | })(options, fcn)) [17:32:13.217] | : . | expr <- as.call(parts) [17:32:13.217] | : . | expr [17:32:13.217] | : . | } [17:32:13.217] | : . | [17:32:13.219] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:13.219] | : get_transpiler() ... done [17:32:13.220] | : Transpile call expression ... [17:32:13.221] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:13.221] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:13.221] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [17:32:13.222] | : Transpile call expression ... done [17:32:13.223] | : Evaluate transpiled call expression [17:32:13.312] | transpile() ... done [17:32:13.313] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [17:32:13.315] futurize() ... [17:32:13.316] | transpile() ... [17:32:13.317] | : get_transpiler() ... [17:32:13.318] | : . Finding call to be transpiled ... [17:32:13.319] | : . | descend_wrappers() ... [17:32:13.320] | : . | : Call: [17:32:13.321] | : . | : base::vapply [17:32:13.322] | : . | : parse_call() ... [17:32:13.323] | : . | : . Function: base::vapply(...) [17:32:13.324] | : . | : parse_call() ... done [17:32:13.325] | : . | descend_wrappers() ... done [17:32:13.326] | : . | parse_call() ... [17:32:13.327] | : . | : Function: base::vapply(...) [17:32:13.328] | : . | parse_call() ... done [17:32:13.329] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.330] | : . | base::vapply [17:32:13.331] | : . Finding call to be transpiled ... done [17:32:13.332] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:13.333] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.334] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:13.335] | : . | Transpiler function: [17:32:13.336] | : . | function (expr, options = NULL) [17:32:13.336] | : . | { [17:32:13.336] | : . | call <- make_call("future_vapply") [17:32:13.336] | : . | fcn <- eval(call) [17:32:13.336] | : . | expr[[1]] <- call [17:32:13.336] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.336] | : . | { [17:32:13.336] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.336] | : . | if (is.null(defaults_base)) { [17:32:13.336] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.336] | : . | } [17:32:13.336] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.336] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.336] | : . | defaults <- defaults[keep] [17:32:13.336] | : . | specified <- attr(options, "specified") [17:32:13.336] | : . | if (length(specified) > 0) { [17:32:13.336] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.336] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.336] | : . | names(options)) [17:32:13.336] | : . | } [17:32:13.336] | : . | specified <- sprintf("future.%s", specified) [17:32:13.336] | : . | names <- setdiff(names(defaults), specified) [17:32:13.336] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.336] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.336] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.336] | : . | options <- options[keep] [17:32:13.336] | : . | options [17:32:13.336] | : . | })(options, fcn)) [17:32:13.336] | : . | expr <- as.call(parts) [17:32:13.336] | : . | expr [17:32:13.336] | : . | } [17:32:13.336] | : . | [17:32:13.337] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:13.338] | : get_transpiler() ... done [17:32:13.339] | : Transpile call expression ... [17:32:13.341] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:13.341] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [17:32:13.341] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:13.341] | : . future.label = "future_vapply-%d") [17:32:13.343] | : Transpile call expression ... done [17:32:13.344] | : Evaluate transpiled call expression [17:32:13.447] | transpile() ... done [17:32:13.448] futurize() ... done Futures created: 2 [17:32:13.449] futurize() ... [17:32:13.450] | transpile() ... [17:32:13.451] | : get_transpiler() ... [17:32:13.452] | : . Finding call to be transpiled ... [17:32:13.453] | : . | descend_wrappers() ... [17:32:13.453] | : . | : Call: [17:32:13.454] | : . | : base::vapply [17:32:13.455] | : . | : parse_call() ... [17:32:13.456] | : . | : . Function: base::vapply(...) [17:32:13.456] | : . | : parse_call() ... done [17:32:13.457] | : . | descend_wrappers() ... done [17:32:13.458] | : . | parse_call() ... [17:32:13.458] | : . | : Function: base::vapply(...) [17:32:13.459] | : . | parse_call() ... done [17:32:13.459] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.460] | : . | base::vapply [17:32:13.461] | : . Finding call to be transpiled ... done [17:32:13.462] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:13.463] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.463] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:13.464] | : . | Transpiler function: [17:32:13.465] | : . | function (expr, options = NULL) [17:32:13.465] | : . | { [17:32:13.465] | : . | call <- make_call("future_vapply") [17:32:13.465] | : . | fcn <- eval(call) [17:32:13.465] | : . | expr[[1]] <- call [17:32:13.465] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.465] | : . | { [17:32:13.465] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.465] | : . | if (is.null(defaults_base)) { [17:32:13.465] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.465] | : . | } [17:32:13.465] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.465] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.465] | : . | defaults <- defaults[keep] [17:32:13.465] | : . | specified <- attr(options, "specified") [17:32:13.465] | : . | if (length(specified) > 0) { [17:32:13.465] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.465] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.465] | : . | names(options)) [17:32:13.465] | : . | } [17:32:13.465] | : . | specified <- sprintf("future.%s", specified) [17:32:13.465] | : . | names <- setdiff(names(defaults), specified) [17:32:13.465] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.465] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.465] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.465] | : . | options <- options[keep] [17:32:13.465] | : . | options [17:32:13.465] | : . | })(options, fcn)) [17:32:13.465] | : . | expr <- as.call(parts) [17:32:13.465] | : . | expr [17:32:13.465] | : . | } [17:32:13.465] | : . | [17:32:13.467] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:13.468] | : get_transpiler() ... done [17:32:13.468] | : Transpile call expression ... [17:32:13.470] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:13.470] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [17:32:13.470] | : . future.stdout = FALSE, future.conditions = character(0), [17:32:13.470] | : . future.scheduling = 1, future.label = "future_vapply-%d") [17:32:13.471] | : Transpile call expression ... done [17:32:13.472] | : Evaluate transpiled call expression [17:32:13.566] | transpile() ... done [17:32:13.567] futurize() ... done character(0) [17:32:13.569] futurize() ... [17:32:13.570] | transpile() ... [17:32:13.571] | : get_transpiler() ... [17:32:13.572] | : . Finding call to be transpiled ... [17:32:13.573] | : . | descend_wrappers() ... [17:32:13.574] | : . | : Call: [17:32:13.575] | : . | : base::vapply [17:32:13.576] | : . | : parse_call() ... [17:32:13.577] | : . | : . Function: base::vapply(...) [17:32:13.578] | : . | : parse_call() ... done [17:32:13.579] | : . | descend_wrappers() ... done [17:32:13.580] | : . | parse_call() ... [17:32:13.581] | : . | : Function: base::vapply(...) [17:32:13.582] | : . | parse_call() ... done [17:32:13.583] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.584] | : . | base::vapply [17:32:13.585] | : . Finding call to be transpiled ... done [17:32:13.586] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:13.587] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.587] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:13.588] | : . | Transpiler function: [17:32:13.589] | : . | function (expr, options = NULL) [17:32:13.589] | : . | { [17:32:13.589] | : . | call <- make_call("future_vapply") [17:32:13.589] | : . | fcn <- eval(call) [17:32:13.589] | : . | expr[[1]] <- call [17:32:13.589] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.589] | : . | { [17:32:13.589] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.589] | : . | if (is.null(defaults_base)) { [17:32:13.589] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.589] | : . | } [17:32:13.589] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.589] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.589] | : . | defaults <- defaults[keep] [17:32:13.589] | : . | specified <- attr(options, "specified") [17:32:13.589] | : . | if (length(specified) > 0) { [17:32:13.589] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.589] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.589] | : . | names(options)) [17:32:13.589] | : . | } [17:32:13.589] | : . | specified <- sprintf("future.%s", specified) [17:32:13.589] | : . | names <- setdiff(names(defaults), specified) [17:32:13.589] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.589] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.589] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.589] | : . | options <- options[keep] [17:32:13.589] | : . | options [17:32:13.589] | : . | })(options, fcn)) [17:32:13.589] | : . | expr <- as.call(parts) [17:32:13.589] | : . | expr [17:32:13.589] | : . | } [17:32:13.589] | : . | [17:32:13.590] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:13.591] | : get_transpiler() ... done [17:32:13.592] | : Transpile call expression ... [17:32:13.593] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:13.593] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [17:32:13.593] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:13.593] | : . future.chunk.size = 1L, future.label = "future_vapply-%d") [17:32:13.595] | : Transpile call expression ... done [17:32:13.595] | : Evaluate transpiled call expression [17:32:13.766] | transpile() ... done [17:32:13.766] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [17:32:13.767] futurize() ... [17:32:13.768] | transpile() ... [17:32:13.769] | : get_transpiler() ... [17:32:13.769] | : . Finding call to be transpiled ... [17:32:13.770] | : . | descend_wrappers() ... [17:32:13.770] | : . | : Call: [17:32:13.771] | : . | : base::vapply [17:32:13.772] | : . | : parse_call() ... [17:32:13.772] | : . | : . Function: base::vapply(...) [17:32:13.773] | : . | : parse_call() ... done [17:32:13.773] | : . | descend_wrappers() ... done [17:32:13.774] | : . | parse_call() ... [17:32:13.775] | : . | : Function: base::vapply(...) [17:32:13.775] | : . | parse_call() ... done [17:32:13.776] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.776] | : . | base::vapply [17:32:13.777] | : . Finding call to be transpiled ... done [17:32:13.777] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:13.778] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.779] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:13.779] | : . | Transpiler function: [17:32:13.780] | : . | function (expr, options = NULL) [17:32:13.780] | : . | { [17:32:13.780] | : . | call <- make_call("future_vapply") [17:32:13.780] | : . | fcn <- eval(call) [17:32:13.780] | : . | expr[[1]] <- call [17:32:13.780] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.780] | : . | { [17:32:13.780] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.780] | : . | if (is.null(defaults_base)) { [17:32:13.780] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.780] | : . | } [17:32:13.780] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.780] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.780] | : . | defaults <- defaults[keep] [17:32:13.780] | : . | specified <- attr(options, "specified") [17:32:13.780] | : . | if (length(specified) > 0) { [17:32:13.780] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.780] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.780] | : . | names(options)) [17:32:13.780] | : . | } [17:32:13.780] | : . | specified <- sprintf("future.%s", specified) [17:32:13.780] | : . | names <- setdiff(names(defaults), specified) [17:32:13.780] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.780] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.780] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.780] | : . | options <- options[keep] [17:32:13.780] | : . | options [17:32:13.780] | : . | })(options, fcn)) [17:32:13.780] | : . | expr <- as.call(parts) [17:32:13.780] | : . | expr [17:32:13.780] | : . | } [17:32:13.780] | : . | [17:32:13.781] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:13.781] | : get_transpiler() ... done [17:32:13.782] | : Transpile call expression ... [17:32:13.783] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:13.783] | : . USE.NAMES = FALSE, future.seed = TRUE, future.globals = TRUE, [17:32:13.783] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:13.783] | : . future.label = "future_vapply-%d") [17:32:13.784] | : Transpile call expression ... done [17:32:13.785] | : Evaluate transpiled call expression [17:32:13.874] | transpile() ... done [17:32:13.875] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN) --------------------------------- [17:32:13.877] futurize() ... [17:32:13.877] | transpile() ... [17:32:13.878] | : get_transpiler() ... [17:32:13.879] | : . Finding call to be transpiled ... [17:32:13.880] | : . | descend_wrappers() ... [17:32:13.881] | : . | : Call: [17:32:13.882] | : . | : base::eapply [17:32:13.883] | : . | : parse_call() ... [17:32:13.884] | : . | : . Function: base::eapply(...) [17:32:13.885] | : . | : parse_call() ... done [17:32:13.886] | : . | descend_wrappers() ... done [17:32:13.887] | : . | parse_call() ... [17:32:13.888] | : . | : Function: base::eapply(...) [17:32:13.888] | : . | parse_call() ... done [17:32:13.889] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.889] | : . | base::eapply [17:32:13.890] | : . Finding call to be transpiled ... done [17:32:13.890] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:13.891] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.892] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:13.893] | : . | Transpiler function: [17:32:13.895] | : . | function (expr, options = NULL) [17:32:13.895] | : . | { [17:32:13.895] | : . | call <- make_call("future_eapply") [17:32:13.895] | : . | fcn <- eval(call) [17:32:13.895] | : . | expr[[1]] <- call [17:32:13.895] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.895] | : . | { [17:32:13.895] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.895] | : . | if (is.null(defaults_base)) { [17:32:13.895] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.895] | : . | } [17:32:13.895] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.895] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.895] | : . | defaults <- defaults[keep] [17:32:13.895] | : . | specified <- attr(options, "specified") [17:32:13.895] | : . | if (length(specified) > 0) { [17:32:13.895] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.895] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.895] | : . | names(options)) [17:32:13.895] | : . | } [17:32:13.895] | : . | specified <- sprintf("future.%s", specified) [17:32:13.895] | : . | names <- setdiff(names(defaults), specified) [17:32:13.895] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.895] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.895] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.895] | : . | options <- options[keep] [17:32:13.895] | : . | options [17:32:13.895] | : . | })(options, fcn)) [17:32:13.895] | : . | expr <- as.call(parts) [17:32:13.895] | : . | expr [17:32:13.895] | : . | } [17:32:13.895] | : . | [17:32:13.897] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:13.898] | : get_transpiler() ... done [17:32:13.899] | : Transpile call expression ... [17:32:13.900] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [17:32:13.900] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:13.900] | : . future.scheduling = 1, future.label = "future_eapply-%d") [17:32:13.903] | : Transpile call expression ... done [17:32:13.904] | : Evaluate transpiled call expression [17:32:13.972] | transpile() ... done [17:32:13.974] futurize() ... done Futures created: 2 [17:32:13.975] futurize() ... [17:32:13.976] | transpile() ... [17:32:13.977] | : get_transpiler() ... [17:32:13.978] | : . Finding call to be transpiled ... [17:32:13.980] | : . | descend_wrappers() ... [17:32:13.981] | : . | : Call: [17:32:13.981] | : . | : base::eapply [17:32:13.983] | : . | : parse_call() ... [17:32:13.984] | : . | : . Function: base::eapply(...) [17:32:13.985] | : . | : parse_call() ... done [17:32:13.986] | : . | descend_wrappers() ... done [17:32:13.987] | : . | parse_call() ... [17:32:13.988] | : . | : Function: base::eapply(...) [17:32:13.989] | : . | parse_call() ... done [17:32:13.990] | : . | Position of call to be transpiled in expression: c(1) [17:32:13.991] | : . | base::eapply [17:32:13.992] | : . Finding call to be transpiled ... done [17:32:13.993] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:13.994] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:13.995] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:13.996] | : . | Transpiler function: [17:32:13.997] | : . | function (expr, options = NULL) [17:32:13.997] | : . | { [17:32:13.997] | : . | call <- make_call("future_eapply") [17:32:13.997] | : . | fcn <- eval(call) [17:32:13.997] | : . | expr[[1]] <- call [17:32:13.997] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:13.997] | : . | { [17:32:13.997] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:13.997] | : . | if (is.null(defaults_base)) { [17:32:13.997] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:13.997] | : . | } [17:32:13.997] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:13.997] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:13.997] | : . | defaults <- defaults[keep] [17:32:13.997] | : . | specified <- attr(options, "specified") [17:32:13.997] | : . | if (length(specified) > 0) { [17:32:13.997] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:13.997] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:13.997] | : . | names(options)) [17:32:13.997] | : . | } [17:32:13.997] | : . | specified <- sprintf("future.%s", specified) [17:32:13.997] | : . | names <- setdiff(names(defaults), specified) [17:32:13.997] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:13.997] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:13.997] | : . | keep <- intersect(names(options), names(defaults)) [17:32:13.997] | : . | options <- options[keep] [17:32:13.997] | : . | options [17:32:13.997] | : . | })(options, fcn)) [17:32:13.997] | : . | expr <- as.call(parts) [17:32:13.997] | : . | expr [17:32:13.997] | : . | } [17:32:13.997] | : . | [17:32:13.998] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:13.999] | : get_transpiler() ... done [17:32:14.000] | : Transpile call expression ... [17:32:14.001] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [17:32:14.001] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:14.001] | : . future.scheduling = 1, future.label = "future_eapply-%d") [17:32:14.003] | : Transpile call expression ... done [17:32:14.004] | : Evaluate transpiled call expression [17:32:14.070] | transpile() ... done [17:32:14.071] futurize() ... done character(0) [17:32:14.072] futurize() ... [17:32:14.073] | transpile() ... [17:32:14.073] | : get_transpiler() ... [17:32:14.074] | : . Finding call to be transpiled ... [17:32:14.075] | : . | descend_wrappers() ... [17:32:14.076] | : . | : Call: [17:32:14.077] | : . | : base::eapply [17:32:14.077] | : . | : parse_call() ... [17:32:14.078] | : . | : . Function: base::eapply(...) [17:32:14.079] | : . | : parse_call() ... done [17:32:14.079] | : . | descend_wrappers() ... done [17:32:14.080] | : . | parse_call() ... [17:32:14.081] | : . | : Function: base::eapply(...) [17:32:14.081] | : . | parse_call() ... done [17:32:14.082] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.082] | : . | base::eapply [17:32:14.083] | : . Finding call to be transpiled ... done [17:32:14.084] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.084] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.085] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.085] | : . | Transpiler function: [17:32:14.086] | : . | function (expr, options = NULL) [17:32:14.086] | : . | { [17:32:14.086] | : . | call <- make_call("future_eapply") [17:32:14.086] | : . | fcn <- eval(call) [17:32:14.086] | : . | expr[[1]] <- call [17:32:14.086] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.086] | : . | { [17:32:14.086] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.086] | : . | if (is.null(defaults_base)) { [17:32:14.086] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.086] | : . | } [17:32:14.086] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.086] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.086] | : . | defaults <- defaults[keep] [17:32:14.086] | : . | specified <- attr(options, "specified") [17:32:14.086] | : . | if (length(specified) > 0) { [17:32:14.086] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.086] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.086] | : . | names(options)) [17:32:14.086] | : . | } [17:32:14.086] | : . | specified <- sprintf("future.%s", specified) [17:32:14.086] | : . | names <- setdiff(names(defaults), specified) [17:32:14.086] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.086] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.086] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.086] | : . | options <- options[keep] [17:32:14.086] | : . | options [17:32:14.086] | : . | })(options, fcn)) [17:32:14.086] | : . | expr <- as.call(parts) [17:32:14.086] | : . | expr [17:32:14.086] | : . | } [17:32:14.086] | : . | [17:32:14.087] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.087] | : get_transpiler() ... done [17:32:14.088] | : Transpile call expression ... [17:32:14.089] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [17:32:14.089] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:14.089] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_eapply-%d") [17:32:14.090] | : Transpile call expression ... done [17:32:14.091] | : Evaluate transpiled call expression [17:32:14.186] | transpile() ... done [17:32:14.188] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN), seed = TRUE, flavor = "add-on") [17:32:14.189] futurize() ... [17:32:14.190] | transpile() ... [17:32:14.191] | : get_transpiler() ... [17:32:14.192] | : . Finding call to be transpiled ... [17:32:14.193] | : . | descend_wrappers() ... [17:32:14.194] | : . | : Call: [17:32:14.195] | : . | : base::eapply [17:32:14.196] | : . | : parse_call() ... [17:32:14.197] | : . | : . Function: base::eapply(...) [17:32:14.198] | : . | : parse_call() ... done [17:32:14.199] | : . | descend_wrappers() ... done [17:32:14.200] | : . | parse_call() ... [17:32:14.201] | : . | : Function: base::eapply(...) [17:32:14.202] | : . | parse_call() ... done [17:32:14.203] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.204] | : . | base::eapply [17:32:14.205] | : . Finding call to be transpiled ... done [17:32:14.206] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.207] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.208] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.208] | : . | Transpiler function: [17:32:14.209] | : . | function (expr, options = NULL) [17:32:14.209] | : . | { [17:32:14.209] | : . | call <- make_call("future_eapply") [17:32:14.209] | : . | fcn <- eval(call) [17:32:14.209] | : . | expr[[1]] <- call [17:32:14.209] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.209] | : . | { [17:32:14.209] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.209] | : . | if (is.null(defaults_base)) { [17:32:14.209] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.209] | : . | } [17:32:14.209] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.209] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.209] | : . | defaults <- defaults[keep] [17:32:14.209] | : . | specified <- attr(options, "specified") [17:32:14.209] | : . | if (length(specified) > 0) { [17:32:14.209] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.209] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.209] | : . | names(options)) [17:32:14.209] | : . | } [17:32:14.209] | : . | specified <- sprintf("future.%s", specified) [17:32:14.209] | : . | names <- setdiff(names(defaults), specified) [17:32:14.209] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.209] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.209] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.209] | : . | options <- options[keep] [17:32:14.209] | : . | options [17:32:14.209] | : . | })(options, fcn)) [17:32:14.209] | : . | expr <- as.call(parts) [17:32:14.209] | : . | expr [17:32:14.209] | : . | } [17:32:14.209] | : . | [17:32:14.211] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.212] | : get_transpiler() ... done [17:32:14.213] | : Transpile call expression ... [17:32:14.214] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = TRUE, [17:32:14.214] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:14.214] | : . future.scheduling = 1, future.label = "future_eapply-%d") [17:32:14.216] | : Transpile call expression ... done [17:32:14.217] | : Evaluate transpiled call expression [17:32:14.290] | transpile() ... done [17:32:14.291] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, all.names = TRUE) --------------------------------- [17:32:14.293] futurize() ... [17:32:14.294] | transpile() ... [17:32:14.296] | : get_transpiler() ... [17:32:14.297] | : . Finding call to be transpiled ... [17:32:14.298] | : . | descend_wrappers() ... [17:32:14.299] | : . | : Call: [17:32:14.300] | : . | : base::eapply [17:32:14.301] | : . | : parse_call() ... [17:32:14.302] | : . | : . Function: base::eapply(...) [17:32:14.302] | : . | : parse_call() ... done [17:32:14.303] | : . | descend_wrappers() ... done [17:32:14.303] | : . | parse_call() ... [17:32:14.304] | : . | : Function: base::eapply(...) [17:32:14.305] | : . | parse_call() ... done [17:32:14.306] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.307] | : . | base::eapply [17:32:14.308] | : . Finding call to be transpiled ... done [17:32:14.309] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.310] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.311] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.312] | : . | Transpiler function: [17:32:14.313] | : . | function (expr, options = NULL) [17:32:14.313] | : . | { [17:32:14.313] | : . | call <- make_call("future_eapply") [17:32:14.313] | : . | fcn <- eval(call) [17:32:14.313] | : . | expr[[1]] <- call [17:32:14.313] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.313] | : . | { [17:32:14.313] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.313] | : . | if (is.null(defaults_base)) { [17:32:14.313] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.313] | : . | } [17:32:14.313] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.313] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.313] | : . | defaults <- defaults[keep] [17:32:14.313] | : . | specified <- attr(options, "specified") [17:32:14.313] | : . | if (length(specified) > 0) { [17:32:14.313] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.313] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.313] | : . | names(options)) [17:32:14.313] | : . | } [17:32:14.313] | : . | specified <- sprintf("future.%s", specified) [17:32:14.313] | : . | names <- setdiff(names(defaults), specified) [17:32:14.313] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.313] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.313] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.313] | : . | options <- options[keep] [17:32:14.313] | : . | options [17:32:14.313] | : . | })(options, fcn)) [17:32:14.313] | : . | expr <- as.call(parts) [17:32:14.313] | : . | expr [17:32:14.313] | : . | } [17:32:14.313] | : . | [17:32:14.315] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.316] | : get_transpiler() ... done [17:32:14.316] | : Transpile call expression ... [17:32:14.318] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:14.318] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:14.318] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:14.320] | : Transpile call expression ... done [17:32:14.321] | : Evaluate transpiled call expression [17:32:14.390] | transpile() ... done [17:32:14.391] futurize() ... done Futures created: 2 [17:32:14.392] futurize() ... [17:32:14.393] | transpile() ... [17:32:14.394] | : get_transpiler() ... [17:32:14.395] | : . Finding call to be transpiled ... [17:32:14.396] | : . | descend_wrappers() ... [17:32:14.397] | : . | : Call: [17:32:14.397] | : . | : base::eapply [17:32:14.398] | : . | : parse_call() ... [17:32:14.399] | : . | : . Function: base::eapply(...) [17:32:14.400] | : . | : parse_call() ... done [17:32:14.401] | : . | descend_wrappers() ... done [17:32:14.402] | : . | parse_call() ... [17:32:14.402] | : . | : Function: base::eapply(...) [17:32:14.403] | : . | parse_call() ... done [17:32:14.404] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.405] | : . | base::eapply [17:32:14.406] | : . Finding call to be transpiled ... done [17:32:14.407] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.408] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.409] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.410] | : . | Transpiler function: [17:32:14.410] | : . | function (expr, options = NULL) [17:32:14.410] | : . | { [17:32:14.410] | : . | call <- make_call("future_eapply") [17:32:14.410] | : . | fcn <- eval(call) [17:32:14.410] | : . | expr[[1]] <- call [17:32:14.410] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.410] | : . | { [17:32:14.410] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.410] | : . | if (is.null(defaults_base)) { [17:32:14.410] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.410] | : . | } [17:32:14.410] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.410] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.410] | : . | defaults <- defaults[keep] [17:32:14.410] | : . | specified <- attr(options, "specified") [17:32:14.410] | : . | if (length(specified) > 0) { [17:32:14.410] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.410] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.410] | : . | names(options)) [17:32:14.410] | : . | } [17:32:14.410] | : . | specified <- sprintf("future.%s", specified) [17:32:14.410] | : . | names <- setdiff(names(defaults), specified) [17:32:14.410] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.410] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.410] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.410] | : . | options <- options[keep] [17:32:14.410] | : . | options [17:32:14.410] | : . | })(options, fcn)) [17:32:14.410] | : . | expr <- as.call(parts) [17:32:14.410] | : . | expr [17:32:14.410] | : . | } [17:32:14.410] | : . | [17:32:14.412] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.412] | : get_transpiler() ... done [17:32:14.413] | : Transpile call expression ... [17:32:14.414] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:14.414] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:14.414] | : . future.conditions = character(0), future.scheduling = 1, [17:32:14.414] | : . future.label = "future_eapply-%d") [17:32:14.416] | : Transpile call expression ... done [17:32:14.416] | : Evaluate transpiled call expression [17:32:14.480] | transpile() ... done [17:32:14.481] futurize() ... done character(0) [17:32:14.482] futurize() ... [17:32:14.483] | transpile() ... [17:32:14.484] | : get_transpiler() ... [17:32:14.484] | : . Finding call to be transpiled ... [17:32:14.485] | : . | descend_wrappers() ... [17:32:14.486] | : . | : Call: [17:32:14.487] | : . | : base::eapply [17:32:14.488] | : . | : parse_call() ... [17:32:14.489] | : . | : . Function: base::eapply(...) [17:32:14.490] | : . | : parse_call() ... done [17:32:14.491] | : . | descend_wrappers() ... done [17:32:14.492] | : . | parse_call() ... [17:32:14.493] | : . | : Function: base::eapply(...) [17:32:14.494] | : . | parse_call() ... done [17:32:14.495] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.496] | : . | base::eapply [17:32:14.497] | : . Finding call to be transpiled ... done [17:32:14.498] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.499] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.499] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.500] | : . | Transpiler function: [17:32:14.501] | : . | function (expr, options = NULL) [17:32:14.501] | : . | { [17:32:14.501] | : . | call <- make_call("future_eapply") [17:32:14.501] | : . | fcn <- eval(call) [17:32:14.501] | : . | expr[[1]] <- call [17:32:14.501] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.501] | : . | { [17:32:14.501] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.501] | : . | if (is.null(defaults_base)) { [17:32:14.501] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.501] | : . | } [17:32:14.501] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.501] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.501] | : . | defaults <- defaults[keep] [17:32:14.501] | : . | specified <- attr(options, "specified") [17:32:14.501] | : . | if (length(specified) > 0) { [17:32:14.501] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.501] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.501] | : . | names(options)) [17:32:14.501] | : . | } [17:32:14.501] | : . | specified <- sprintf("future.%s", specified) [17:32:14.501] | : . | names <- setdiff(names(defaults), specified) [17:32:14.501] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.501] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.501] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.501] | : . | options <- options[keep] [17:32:14.501] | : . | options [17:32:14.501] | : . | })(options, fcn)) [17:32:14.501] | : . | expr <- as.call(parts) [17:32:14.501] | : . | expr [17:32:14.501] | : . | } [17:32:14.501] | : . | [17:32:14.503] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.504] | : get_transpiler() ... done [17:32:14.505] | : Transpile call expression ... [17:32:14.506] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:14.506] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:14.506] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:14.506] | : . future.label = "future_eapply-%d") [17:32:14.509] | : Transpile call expression ... done [17:32:14.510] | : Evaluate transpiled call expression [17:32:14.669] | transpile() ... done [17:32:14.670] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, all.names = TRUE), seed = TRUE, flavor = "add-on") [17:32:14.672] futurize() ... [17:32:14.673] | transpile() ... [17:32:14.674] | : get_transpiler() ... [17:32:14.675] | : . Finding call to be transpiled ... [17:32:14.676] | : . | descend_wrappers() ... [17:32:14.676] | : . | : Call: [17:32:14.677] | : . | : base::eapply [17:32:14.678] | : . | : parse_call() ... [17:32:14.679] | : . | : . Function: base::eapply(...) [17:32:14.680] | : . | : parse_call() ... done [17:32:14.681] | : . | descend_wrappers() ... done [17:32:14.682] | : . | parse_call() ... [17:32:14.683] | : . | : Function: base::eapply(...) [17:32:14.684] | : . | parse_call() ... done [17:32:14.685] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.686] | : . | base::eapply [17:32:14.687] | : . Finding call to be transpiled ... done [17:32:14.688] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.689] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.690] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.691] | : . | Transpiler function: [17:32:14.692] | : . | function (expr, options = NULL) [17:32:14.692] | : . | { [17:32:14.692] | : . | call <- make_call("future_eapply") [17:32:14.692] | : . | fcn <- eval(call) [17:32:14.692] | : . | expr[[1]] <- call [17:32:14.692] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.692] | : . | { [17:32:14.692] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.692] | : . | if (is.null(defaults_base)) { [17:32:14.692] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.692] | : . | } [17:32:14.692] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.692] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.692] | : . | defaults <- defaults[keep] [17:32:14.692] | : . | specified <- attr(options, "specified") [17:32:14.692] | : . | if (length(specified) > 0) { [17:32:14.692] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.692] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.692] | : . | names(options)) [17:32:14.692] | : . | } [17:32:14.692] | : . | specified <- sprintf("future.%s", specified) [17:32:14.692] | : . | names <- setdiff(names(defaults), specified) [17:32:14.692] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.692] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.692] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.692] | : . | options <- options[keep] [17:32:14.692] | : . | options [17:32:14.692] | : . | })(options, fcn)) [17:32:14.692] | : . | expr <- as.call(parts) [17:32:14.692] | : . | expr [17:32:14.692] | : . | } [17:32:14.692] | : . | [17:32:14.694] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.695] | : get_transpiler() ... done [17:32:14.696] | : Transpile call expression ... [17:32:14.698] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:14.698] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:14.698] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:14.700] | : Transpile call expression ... done [17:32:14.700] | : Evaluate transpiled call expression [17:32:14.781] | transpile() ... done [17:32:14.782] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [17:32:14.784] futurize() ... [17:32:14.785] | transpile() ... [17:32:14.786] | : get_transpiler() ... [17:32:14.787] | : . Finding call to be transpiled ... [17:32:14.788] | : . | descend_wrappers() ... [17:32:14.789] | : . | : Call: [17:32:14.790] | : . | : base::eapply [17:32:14.791] | : . | : parse_call() ... [17:32:14.792] | : . | : . Function: base::eapply(...) [17:32:14.793] | : . | : parse_call() ... done [17:32:14.794] | : . | descend_wrappers() ... done [17:32:14.795] | : . | parse_call() ... [17:32:14.796] | : . | : Function: base::eapply(...) [17:32:14.796] | : . | parse_call() ... done [17:32:14.797] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.798] | : . | base::eapply [17:32:14.799] | : . Finding call to be transpiled ... done [17:32:14.800] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.801] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.802] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.803] | : . | Transpiler function: [17:32:14.804] | : . | function (expr, options = NULL) [17:32:14.804] | : . | { [17:32:14.804] | : . | call <- make_call("future_eapply") [17:32:14.804] | : . | fcn <- eval(call) [17:32:14.804] | : . | expr[[1]] <- call [17:32:14.804] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.804] | : . | { [17:32:14.804] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.804] | : . | if (is.null(defaults_base)) { [17:32:14.804] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.804] | : . | } [17:32:14.804] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.804] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.804] | : . | defaults <- defaults[keep] [17:32:14.804] | : . | specified <- attr(options, "specified") [17:32:14.804] | : . | if (length(specified) > 0) { [17:32:14.804] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.804] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.804] | : . | names(options)) [17:32:14.804] | : . | } [17:32:14.804] | : . | specified <- sprintf("future.%s", specified) [17:32:14.804] | : . | names <- setdiff(names(defaults), specified) [17:32:14.804] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.804] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.804] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.804] | : . | options <- options[keep] [17:32:14.804] | : . | options [17:32:14.804] | : . | })(options, fcn)) [17:32:14.804] | : . | expr <- as.call(parts) [17:32:14.804] | : . | expr [17:32:14.804] | : . | } [17:32:14.804] | : . | [17:32:14.805] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.806] | : get_transpiler() ... done [17:32:14.807] | : Transpile call expression ... [17:32:14.808] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:14.808] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:14.808] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:14.811] | : Transpile call expression ... done [17:32:14.812] | : Evaluate transpiled call expression [17:32:14.874] | transpile() ... done [17:32:14.875] futurize() ... done Futures created: 2 [17:32:14.877] futurize() ... [17:32:14.878] | transpile() ... [17:32:14.879] | : get_transpiler() ... [17:32:14.880] | : . Finding call to be transpiled ... [17:32:14.880] | : . | descend_wrappers() ... [17:32:14.881] | : . | : Call: [17:32:14.882] | : . | : base::eapply [17:32:14.883] | : . | : parse_call() ... [17:32:14.884] | : . | : . Function: base::eapply(...) [17:32:14.885] | : . | : parse_call() ... done [17:32:14.886] | : . | descend_wrappers() ... done [17:32:14.887] | : . | parse_call() ... [17:32:14.888] | : . | : Function: base::eapply(...) [17:32:14.889] | : . | parse_call() ... done [17:32:14.890] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.891] | : . | base::eapply [17:32:14.892] | : . Finding call to be transpiled ... done [17:32:14.893] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.894] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.895] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.896] | : . | Transpiler function: [17:32:14.897] | : . | function (expr, options = NULL) [17:32:14.897] | : . | { [17:32:14.897] | : . | call <- make_call("future_eapply") [17:32:14.897] | : . | fcn <- eval(call) [17:32:14.897] | : . | expr[[1]] <- call [17:32:14.897] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.897] | : . | { [17:32:14.897] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.897] | : . | if (is.null(defaults_base)) { [17:32:14.897] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.897] | : . | } [17:32:14.897] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.897] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.897] | : . | defaults <- defaults[keep] [17:32:14.897] | : . | specified <- attr(options, "specified") [17:32:14.897] | : . | if (length(specified) > 0) { [17:32:14.897] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.897] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.897] | : . | names(options)) [17:32:14.897] | : . | } [17:32:14.897] | : . | specified <- sprintf("future.%s", specified) [17:32:14.897] | : . | names <- setdiff(names(defaults), specified) [17:32:14.897] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.897] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.897] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.897] | : . | options <- options[keep] [17:32:14.897] | : . | options [17:32:14.897] | : . | })(options, fcn)) [17:32:14.897] | : . | expr <- as.call(parts) [17:32:14.897] | : . | expr [17:32:14.897] | : . | } [17:32:14.897] | : . | [17:32:14.899] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.899] | : get_transpiler() ... done [17:32:14.900] | : Transpile call expression ... [17:32:14.902] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:14.902] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:14.902] | : . future.conditions = character(0), future.scheduling = 1, [17:32:14.902] | : . future.label = "future_eapply-%d") [17:32:14.903] | : Transpile call expression ... done [17:32:14.904] | : Evaluate transpiled call expression [17:32:14.965] | transpile() ... done [17:32:14.967] futurize() ... done character(0) [17:32:14.968] futurize() ... [17:32:14.969] | transpile() ... [17:32:14.970] | : get_transpiler() ... [17:32:14.971] | : . Finding call to be transpiled ... [17:32:14.972] | : . | descend_wrappers() ... [17:32:14.973] | : . | : Call: [17:32:14.974] | : . | : base::eapply [17:32:14.976] | : . | : parse_call() ... [17:32:14.977] | : . | : . Function: base::eapply(...) [17:32:14.978] | : . | : parse_call() ... done [17:32:14.979] | : . | descend_wrappers() ... done [17:32:14.980] | : . | parse_call() ... [17:32:14.981] | : . | : Function: base::eapply(...) [17:32:14.982] | : . | parse_call() ... done [17:32:14.983] | : . | Position of call to be transpiled in expression: c(1) [17:32:14.984] | : . | base::eapply [17:32:14.986] | : . Finding call to be transpiled ... done [17:32:14.987] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:14.988] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:14.989] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:14.990] | : . | Transpiler function: [17:32:14.991] | : . | function (expr, options = NULL) [17:32:14.991] | : . | { [17:32:14.991] | : . | call <- make_call("future_eapply") [17:32:14.991] | : . | fcn <- eval(call) [17:32:14.991] | : . | expr[[1]] <- call [17:32:14.991] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:14.991] | : . | { [17:32:14.991] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:14.991] | : . | if (is.null(defaults_base)) { [17:32:14.991] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:14.991] | : . | } [17:32:14.991] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:14.991] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:14.991] | : . | defaults <- defaults[keep] [17:32:14.991] | : . | specified <- attr(options, "specified") [17:32:14.991] | : . | if (length(specified) > 0) { [17:32:14.991] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:14.991] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:14.991] | : . | names(options)) [17:32:14.991] | : . | } [17:32:14.991] | : . | specified <- sprintf("future.%s", specified) [17:32:14.991] | : . | names <- setdiff(names(defaults), specified) [17:32:14.991] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:14.991] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:14.991] | : . | keep <- intersect(names(options), names(defaults)) [17:32:14.991] | : . | options <- options[keep] [17:32:14.991] | : . | options [17:32:14.991] | : . | })(options, fcn)) [17:32:14.991] | : . | expr <- as.call(parts) [17:32:14.991] | : . | expr [17:32:14.991] | : . | } [17:32:14.991] | : . | [17:32:14.993] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:14.994] | : get_transpiler() ... done [17:32:14.995] | : Transpile call expression ... [17:32:14.997] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:14.997] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:14.997] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:14.997] | : . future.label = "future_eapply-%d") [17:32:15.000] | : Transpile call expression ... done [17:32:15.001] | : Evaluate transpiled call expression [17:32:15.143] | transpile() ... done [17:32:15.144] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [17:32:15.145] futurize() ... [17:32:15.146] | transpile() ... [17:32:15.147] | : get_transpiler() ... [17:32:15.148] | : . Finding call to be transpiled ... [17:32:15.149] | : . | descend_wrappers() ... [17:32:15.150] | : . | : Call: [17:32:15.151] | : . | : base::eapply [17:32:15.152] | : . | : parse_call() ... [17:32:15.153] | : . | : . Function: base::eapply(...) [17:32:15.154] | : . | : parse_call() ... done [17:32:15.155] | : . | descend_wrappers() ... done [17:32:15.155] | : . | parse_call() ... [17:32:15.156] | : . | : Function: base::eapply(...) [17:32:15.157] | : . | parse_call() ... done [17:32:15.158] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.159] | : . | base::eapply [17:32:15.160] | : . Finding call to be transpiled ... done [17:32:15.161] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:15.162] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.163] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:15.163] | : . | Transpiler function: [17:32:15.164] | : . | function (expr, options = NULL) [17:32:15.164] | : . | { [17:32:15.164] | : . | call <- make_call("future_eapply") [17:32:15.164] | : . | fcn <- eval(call) [17:32:15.164] | : . | expr[[1]] <- call [17:32:15.164] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.164] | : . | { [17:32:15.164] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.164] | : . | if (is.null(defaults_base)) { [17:32:15.164] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.164] | : . | } [17:32:15.164] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.164] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.164] | : . | defaults <- defaults[keep] [17:32:15.164] | : . | specified <- attr(options, "specified") [17:32:15.164] | : . | if (length(specified) > 0) { [17:32:15.164] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.164] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.164] | : . | names(options)) [17:32:15.164] | : . | } [17:32:15.164] | : . | specified <- sprintf("future.%s", specified) [17:32:15.164] | : . | names <- setdiff(names(defaults), specified) [17:32:15.164] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.164] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.164] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.164] | : . | options <- options[keep] [17:32:15.164] | : . | options [17:32:15.164] | : . | })(options, fcn)) [17:32:15.164] | : . | expr <- as.call(parts) [17:32:15.164] | : . | expr [17:32:15.164] | : . | } [17:32:15.164] | : . | [17:32:15.166] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:15.167] | : get_transpiler() ... done [17:32:15.168] | : Transpile call expression ... [17:32:15.169] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:15.169] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:15.169] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:15.171] | : Transpile call expression ... done [17:32:15.172] | : Evaluate transpiled call expression [17:32:15.229] | transpile() ... done [17:32:15.230] futurize() ... done === replicate ========================== replicate(2, 42) --------------------------------- [17:32:15.232] futurize() ... [17:32:15.233] | transpile() ... [17:32:15.233] | : get_transpiler() ... [17:32:15.234] | : . Finding call to be transpiled ... [17:32:15.235] | : . | descend_wrappers() ... [17:32:15.235] | : . | : Call: [17:32:15.236] | : . | : replicate [17:32:15.237] | : . | : parse_call() ... [17:32:15.238] | : . | : . Function: replicate(...) [17:32:15.238] | : . | : . Locate function ... [17:32:15.239] | : . | : . | Function located in: 'base' [17:32:15.239] | : . | : . Locate function ... done [17:32:15.240] | : . | : parse_call() ... done [17:32:15.240] | : . | descend_wrappers() ... done [17:32:15.241] | : . | parse_call() ... [17:32:15.241] | : . | : Function: replicate(...) [17:32:15.242] | : . | : Locate function ... [17:32:15.242] | : . | : . Function located in: 'base' [17:32:15.243] | : . | : Locate function ... done [17:32:15.244] | : . | parse_call() ... done [17:32:15.244] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.245] | : . | replicate [17:32:15.245] | : . Finding call to be transpiled ... done [17:32:15.246] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.247] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.247] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.248] | : . | Transpiler function: [17:32:15.249] | : . | function (expr, options = NULL) [17:32:15.249] | : . | { [17:32:15.249] | : . | call <- make_call("future_replicate") [17:32:15.249] | : . | fcn <- eval(call) [17:32:15.249] | : . | expr[[1]] <- call [17:32:15.249] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.249] | : . | { [17:32:15.249] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.249] | : . | if (is.null(defaults_base)) { [17:32:15.249] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.249] | : . | } [17:32:15.249] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.249] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.249] | : . | defaults <- defaults[keep] [17:32:15.249] | : . | specified <- attr(options, "specified") [17:32:15.249] | : . | if (length(specified) > 0) { [17:32:15.249] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.249] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.249] | : . | names(options)) [17:32:15.249] | : . | } [17:32:15.249] | : . | specified <- sprintf("future.%s", specified) [17:32:15.249] | : . | names <- setdiff(names(defaults), specified) [17:32:15.249] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.249] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.249] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.249] | : . | options <- options[keep] [17:32:15.249] | : . | options [17:32:15.249] | : . | })(options, fcn)) [17:32:15.249] | : . | expr <- as.call(parts) [17:32:15.249] | : . | expr [17:32:15.249] | : . | } [17:32:15.249] | : . | [17:32:15.250] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.250] | : get_transpiler() ... done [17:32:15.251] | : Transpile call expression ... [17:32:15.252] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.252] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:15.252] | : . future.label = "future_replicate-%d") [17:32:15.254] | : Transpile call expression ... done [17:32:15.255] | : Evaluate transpiled call expression [17:32:15.285] | transpile() ... done [17:32:15.286] futurize() ... done Futures created: 2 [17:32:15.287] futurize() ... [17:32:15.289] | transpile() ... [17:32:15.290] | : get_transpiler() ... [17:32:15.290] | : . Finding call to be transpiled ... [17:32:15.291] | : . | descend_wrappers() ... [17:32:15.292] | : . | : Call: [17:32:15.293] | : . | : replicate [17:32:15.294] | : . | : parse_call() ... [17:32:15.295] | : . | : . Function: replicate(...) [17:32:15.296] | : . | : . Locate function ... [17:32:15.297] | : . | : . | Function located in: 'base' [17:32:15.298] | : . | : . Locate function ... done [17:32:15.299] | : . | : parse_call() ... done [17:32:15.299] | : . | descend_wrappers() ... done [17:32:15.300] | : . | parse_call() ... [17:32:15.301] | : . | : Function: replicate(...) [17:32:15.302] | : . | : Locate function ... [17:32:15.303] | : . | : . Function located in: 'base' [17:32:15.303] | : . | : Locate function ... done [17:32:15.304] | : . | parse_call() ... done [17:32:15.305] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.305] | : . | replicate [17:32:15.307] | : . Finding call to be transpiled ... done [17:32:15.307] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.308] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.309] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.310] | : . | Transpiler function: [17:32:15.310] | : . | function (expr, options = NULL) [17:32:15.310] | : . | { [17:32:15.310] | : . | call <- make_call("future_replicate") [17:32:15.310] | : . | fcn <- eval(call) [17:32:15.310] | : . | expr[[1]] <- call [17:32:15.310] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.310] | : . | { [17:32:15.310] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.310] | : . | if (is.null(defaults_base)) { [17:32:15.310] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.310] | : . | } [17:32:15.310] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.310] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.310] | : . | defaults <- defaults[keep] [17:32:15.310] | : . | specified <- attr(options, "specified") [17:32:15.310] | : . | if (length(specified) > 0) { [17:32:15.310] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.310] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.310] | : . | names(options)) [17:32:15.310] | : . | } [17:32:15.310] | : . | specified <- sprintf("future.%s", specified) [17:32:15.310] | : . | names <- setdiff(names(defaults), specified) [17:32:15.310] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.310] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.310] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.310] | : . | options <- options[keep] [17:32:15.310] | : . | options [17:32:15.310] | : . | })(options, fcn)) [17:32:15.310] | : . | expr <- as.call(parts) [17:32:15.310] | : . | expr [17:32:15.310] | : . | } [17:32:15.310] | : . | [17:32:15.312] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.313] | : get_transpiler() ... done [17:32:15.314] | : Transpile call expression ... [17:32:15.315] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.315] | : . future.stdout = FALSE, future.conditions = character(0), [17:32:15.315] | : . future.scheduling = 1, future.label = "future_replicate-%d") [17:32:15.318] | : Transpile call expression ... done [17:32:15.318] | : Evaluate transpiled call expression [17:32:15.350] | transpile() ... done [17:32:15.351] futurize() ... done character(0) [17:32:15.352] futurize() ... [17:32:15.353] | transpile() ... [17:32:15.354] | : get_transpiler() ... [17:32:15.355] | : . Finding call to be transpiled ... [17:32:15.356] | : . | descend_wrappers() ... [17:32:15.357] | : . | : Call: [17:32:15.357] | : . | : replicate [17:32:15.358] | : . | : parse_call() ... [17:32:15.359] | : . | : . Function: replicate(...) [17:32:15.360] | : . | : . Locate function ... [17:32:15.361] | : . | : . | Function located in: 'base' [17:32:15.362] | : . | : . Locate function ... done [17:32:15.363] | : . | : parse_call() ... done [17:32:15.363] | : . | descend_wrappers() ... done [17:32:15.364] | : . | parse_call() ... [17:32:15.365] | : . | : Function: replicate(...) [17:32:15.366] | : . | : Locate function ... [17:32:15.367] | : . | : . Function located in: 'base' [17:32:15.368] | : . | : Locate function ... done [17:32:15.369] | : . | parse_call() ... done [17:32:15.370] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.370] | : . | replicate [17:32:15.372] | : . Finding call to be transpiled ... done [17:32:15.372] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.373] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.374] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.375] | : . | Transpiler function: [17:32:15.376] | : . | function (expr, options = NULL) [17:32:15.376] | : . | { [17:32:15.376] | : . | call <- make_call("future_replicate") [17:32:15.376] | : . | fcn <- eval(call) [17:32:15.376] | : . | expr[[1]] <- call [17:32:15.376] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.376] | : . | { [17:32:15.376] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.376] | : . | if (is.null(defaults_base)) { [17:32:15.376] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.376] | : . | } [17:32:15.376] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.376] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.376] | : . | defaults <- defaults[keep] [17:32:15.376] | : . | specified <- attr(options, "specified") [17:32:15.376] | : . | if (length(specified) > 0) { [17:32:15.376] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.376] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.376] | : . | names(options)) [17:32:15.376] | : . | } [17:32:15.376] | : . | specified <- sprintf("future.%s", specified) [17:32:15.376] | : . | names <- setdiff(names(defaults), specified) [17:32:15.376] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.376] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.376] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.376] | : . | options <- options[keep] [17:32:15.376] | : . | options [17:32:15.376] | : . | })(options, fcn)) [17:32:15.376] | : . | expr <- as.call(parts) [17:32:15.376] | : . | expr [17:32:15.376] | : . | } [17:32:15.376] | : . | [17:32:15.377] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.378] | : get_transpiler() ... done [17:32:15.379] | : Transpile call expression ... [17:32:15.380] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.380] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:15.380] | : . future.chunk.size = 1L, future.label = "future_replicate-%d") [17:32:15.382] | : Transpile call expression ... done [17:32:15.383] | : Evaluate transpiled call expression [17:32:15.416] | transpile() ... done [17:32:15.417] futurize() ... done Test with RNG: futurize(replicate(2, 42), seed = TRUE, flavor = "add-on") [17:32:15.419] futurize() ... [17:32:15.420] | transpile() ... [17:32:15.421] | : get_transpiler() ... [17:32:15.422] | : . Finding call to be transpiled ... [17:32:15.423] | : . | descend_wrappers() ... [17:32:15.424] | : . | : Call: [17:32:15.424] | : . | : replicate [17:32:15.426] | : . | : parse_call() ... [17:32:15.426] | : . | : . Function: replicate(...) [17:32:15.427] | : . | : . Locate function ... [17:32:15.428] | : . | : . | Function located in: 'base' [17:32:15.429] | : . | : . Locate function ... done [17:32:15.430] | : . | : parse_call() ... done [17:32:15.431] | : . | descend_wrappers() ... done [17:32:15.431] | : . | parse_call() ... [17:32:15.432] | : . | : Function: replicate(...) [17:32:15.433] | : . | : Locate function ... [17:32:15.434] | : . | : . Function located in: 'base' [17:32:15.435] | : . | : Locate function ... done [17:32:15.436] | : . | parse_call() ... done [17:32:15.437] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.438] | : . | replicate [17:32:15.439] | : . Finding call to be transpiled ... done [17:32:15.440] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.441] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.441] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.442] | : . | Transpiler function: [17:32:15.443] | : . | function (expr, options = NULL) [17:32:15.443] | : . | { [17:32:15.443] | : . | call <- make_call("future_replicate") [17:32:15.443] | : . | fcn <- eval(call) [17:32:15.443] | : . | expr[[1]] <- call [17:32:15.443] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.443] | : . | { [17:32:15.443] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.443] | : . | if (is.null(defaults_base)) { [17:32:15.443] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.443] | : . | } [17:32:15.443] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.443] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.443] | : . | defaults <- defaults[keep] [17:32:15.443] | : . | specified <- attr(options, "specified") [17:32:15.443] | : . | if (length(specified) > 0) { [17:32:15.443] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.443] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.443] | : . | names(options)) [17:32:15.443] | : . | } [17:32:15.443] | : . | specified <- sprintf("future.%s", specified) [17:32:15.443] | : . | names <- setdiff(names(defaults), specified) [17:32:15.443] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.443] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.443] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.443] | : . | options <- options[keep] [17:32:15.443] | : . | options [17:32:15.443] | : . | })(options, fcn)) [17:32:15.443] | : . | expr <- as.call(parts) [17:32:15.443] | : . | expr [17:32:15.443] | : . | } [17:32:15.443] | : . | [17:32:15.445] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.445] | : get_transpiler() ... done [17:32:15.446] | : Transpile call expression ... [17:32:15.448] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.448] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:15.448] | : . future.label = "future_replicate-%d") [17:32:15.450] | : Transpile call expression ... done [17:32:15.451] | : Evaluate transpiled call expression [17:32:15.486] | transpile() ... done [17:32:15.487] futurize() ... done === replicate ========================== base::replicate(2, 42) --------------------------------- [17:32:15.489] futurize() ... [17:32:15.490] | transpile() ... [17:32:15.491] | : get_transpiler() ... [17:32:15.492] | : . Finding call to be transpiled ... [17:32:15.493] | : . | descend_wrappers() ... [17:32:15.494] | : . | : Call: [17:32:15.495] | : . | : base::replicate [17:32:15.497] | : . | : parse_call() ... [17:32:15.498] | : . | : . Function: base::replicate(...) [17:32:15.499] | : . | : parse_call() ... done [17:32:15.500] | : . | descend_wrappers() ... done [17:32:15.501] | : . | parse_call() ... [17:32:15.502] | : . | : Function: base::replicate(...) [17:32:15.503] | : . | parse_call() ... done [17:32:15.504] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.505] | : . | base::replicate [17:32:15.506] | : . Finding call to be transpiled ... done [17:32:15.507] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.508] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.509] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.510] | : . | Transpiler function: [17:32:15.511] | : . | function (expr, options = NULL) [17:32:15.511] | : . | { [17:32:15.511] | : . | call <- make_call("future_replicate") [17:32:15.511] | : . | fcn <- eval(call) [17:32:15.511] | : . | expr[[1]] <- call [17:32:15.511] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.511] | : . | { [17:32:15.511] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.511] | : . | if (is.null(defaults_base)) { [17:32:15.511] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.511] | : . | } [17:32:15.511] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.511] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.511] | : . | defaults <- defaults[keep] [17:32:15.511] | : . | specified <- attr(options, "specified") [17:32:15.511] | : . | if (length(specified) > 0) { [17:32:15.511] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.511] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.511] | : . | names(options)) [17:32:15.511] | : . | } [17:32:15.511] | : . | specified <- sprintf("future.%s", specified) [17:32:15.511] | : . | names <- setdiff(names(defaults), specified) [17:32:15.511] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.511] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.511] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.511] | : . | options <- options[keep] [17:32:15.511] | : . | options [17:32:15.511] | : . | })(options, fcn)) [17:32:15.511] | : . | expr <- as.call(parts) [17:32:15.511] | : . | expr [17:32:15.511] | : . | } [17:32:15.511] | : . | [17:32:15.513] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.514] | : get_transpiler() ... done [17:32:15.515] | : Transpile call expression ... [17:32:15.517] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.517] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:15.517] | : . future.label = "future_replicate-%d") [17:32:15.519] | : Transpile call expression ... done [17:32:15.520] | : Evaluate transpiled call expression [17:32:15.551] | transpile() ... done [17:32:15.552] futurize() ... done Futures created: 2 [17:32:15.553] futurize() ... [17:32:15.554] | transpile() ... [17:32:15.555] | : get_transpiler() ... [17:32:15.556] | : . Finding call to be transpiled ... [17:32:15.557] | : . | descend_wrappers() ... [17:32:15.558] | : . | : Call: [17:32:15.559] | : . | : base::replicate [17:32:15.560] | : . | : parse_call() ... [17:32:15.561] | : . | : . Function: base::replicate(...) [17:32:15.562] | : . | : parse_call() ... done [17:32:15.563] | : . | descend_wrappers() ... done [17:32:15.564] | : . | parse_call() ... [17:32:15.565] | : . | : Function: base::replicate(...) [17:32:15.566] | : . | parse_call() ... done [17:32:15.567] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.568] | : . | base::replicate [17:32:15.569] | : . Finding call to be transpiled ... done [17:32:15.570] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.571] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.572] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.573] | : . | Transpiler function: [17:32:15.574] | : . | function (expr, options = NULL) [17:32:15.574] | : . | { [17:32:15.574] | : . | call <- make_call("future_replicate") [17:32:15.574] | : . | fcn <- eval(call) [17:32:15.574] | : . | expr[[1]] <- call [17:32:15.574] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.574] | : . | { [17:32:15.574] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.574] | : . | if (is.null(defaults_base)) { [17:32:15.574] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.574] | : . | } [17:32:15.574] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.574] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.574] | : . | defaults <- defaults[keep] [17:32:15.574] | : . | specified <- attr(options, "specified") [17:32:15.574] | : . | if (length(specified) > 0) { [17:32:15.574] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.574] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.574] | : . | names(options)) [17:32:15.574] | : . | } [17:32:15.574] | : . | specified <- sprintf("future.%s", specified) [17:32:15.574] | : . | names <- setdiff(names(defaults), specified) [17:32:15.574] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.574] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.574] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.574] | : . | options <- options[keep] [17:32:15.574] | : . | options [17:32:15.574] | : . | })(options, fcn)) [17:32:15.574] | : . | expr <- as.call(parts) [17:32:15.574] | : . | expr [17:32:15.574] | : . | } [17:32:15.574] | : . | [17:32:15.576] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.577] | : get_transpiler() ... done [17:32:15.578] | : Transpile call expression ... [17:32:15.579] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.579] | : . future.stdout = FALSE, future.conditions = character(0), [17:32:15.579] | : . future.scheduling = 1, future.label = "future_replicate-%d") [17:32:15.582] | : Transpile call expression ... done [17:32:15.583] | : Evaluate transpiled call expression [17:32:15.615] | transpile() ... done [17:32:15.617] futurize() ... done character(0) [17:32:15.618] futurize() ... [17:32:15.619] | transpile() ... [17:32:15.620] | : get_transpiler() ... [17:32:15.621] | : . Finding call to be transpiled ... [17:32:15.622] | : . | descend_wrappers() ... [17:32:15.624] | : . | : Call: [17:32:15.625] | : . | : base::replicate [17:32:15.626] | : . | : parse_call() ... [17:32:15.628] | : . | : . Function: base::replicate(...) [17:32:15.629] | : . | : parse_call() ... done [17:32:15.630] | : . | descend_wrappers() ... done [17:32:15.631] | : . | parse_call() ... [17:32:15.632] | : . | : Function: base::replicate(...) [17:32:15.633] | : . | parse_call() ... done [17:32:15.634] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.635] | : . | base::replicate [17:32:15.637] | : . Finding call to be transpiled ... done [17:32:15.638] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.639] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.640] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.641] | : . | Transpiler function: [17:32:15.642] | : . | function (expr, options = NULL) [17:32:15.642] | : . | { [17:32:15.642] | : . | call <- make_call("future_replicate") [17:32:15.642] | : . | fcn <- eval(call) [17:32:15.642] | : . | expr[[1]] <- call [17:32:15.642] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.642] | : . | { [17:32:15.642] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.642] | : . | if (is.null(defaults_base)) { [17:32:15.642] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.642] | : . | } [17:32:15.642] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.642] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.642] | : . | defaults <- defaults[keep] [17:32:15.642] | : . | specified <- attr(options, "specified") [17:32:15.642] | : . | if (length(specified) > 0) { [17:32:15.642] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.642] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.642] | : . | names(options)) [17:32:15.642] | : . | } [17:32:15.642] | : . | specified <- sprintf("future.%s", specified) [17:32:15.642] | : . | names <- setdiff(names(defaults), specified) [17:32:15.642] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.642] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.642] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.642] | : . | options <- options[keep] [17:32:15.642] | : . | options [17:32:15.642] | : . | })(options, fcn)) [17:32:15.642] | : . | expr <- as.call(parts) [17:32:15.642] | : . | expr [17:32:15.642] | : . | } [17:32:15.642] | : . | [17:32:15.644] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.645] | : get_transpiler() ... done [17:32:15.646] | : Transpile call expression ... [17:32:15.648] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.648] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:15.648] | : . future.chunk.size = 1L, future.label = "future_replicate-%d") [17:32:15.650] | : Transpile call expression ... done [17:32:15.651] | : Evaluate transpiled call expression [17:32:15.682] | transpile() ... done [17:32:15.683] futurize() ... done Test with RNG: futurize(base::replicate(2, 42), seed = TRUE, flavor = "add-on") [17:32:15.685] futurize() ... [17:32:15.686] | transpile() ... [17:32:15.687] | : get_transpiler() ... [17:32:15.688] | : . Finding call to be transpiled ... [17:32:15.689] | : . | descend_wrappers() ... [17:32:15.690] | : . | : Call: [17:32:15.691] | : . | : base::replicate [17:32:15.692] | : . | : parse_call() ... [17:32:15.693] | : . | : . Function: base::replicate(...) [17:32:15.694] | : . | : parse_call() ... done [17:32:15.695] | : . | descend_wrappers() ... done [17:32:15.696] | : . | parse_call() ... [17:32:15.697] | : . | : Function: base::replicate(...) [17:32:15.698] | : . | parse_call() ... done [17:32:15.699] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.700] | : . | base::replicate [17:32:15.701] | : . Finding call to be transpiled ... done [17:32:15.702] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:15.703] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.704] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:15.705] | : . | Transpiler function: [17:32:15.706] | : . | function (expr, options = NULL) [17:32:15.706] | : . | { [17:32:15.706] | : . | call <- make_call("future_replicate") [17:32:15.706] | : . | fcn <- eval(call) [17:32:15.706] | : . | expr[[1]] <- call [17:32:15.706] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.706] | : . | { [17:32:15.706] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.706] | : . | if (is.null(defaults_base)) { [17:32:15.706] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.706] | : . | } [17:32:15.706] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.706] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.706] | : . | defaults <- defaults[keep] [17:32:15.706] | : . | specified <- attr(options, "specified") [17:32:15.706] | : . | if (length(specified) > 0) { [17:32:15.706] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.706] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.706] | : . | names(options)) [17:32:15.706] | : . | } [17:32:15.706] | : . | specified <- sprintf("future.%s", specified) [17:32:15.706] | : . | names <- setdiff(names(defaults), specified) [17:32:15.706] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.706] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.706] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.706] | : . | options <- options[keep] [17:32:15.706] | : . | options [17:32:15.706] | : . | })(options, fcn)) [17:32:15.706] | : . | expr <- as.call(parts) [17:32:15.706] | : . | expr [17:32:15.706] | : . | } [17:32:15.706] | : . | [17:32:15.708] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:15.709] | : get_transpiler() ... done [17:32:15.710] | : Transpile call expression ... [17:32:15.711] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [17:32:15.711] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:15.711] | : . future.label = "future_replicate-%d") [17:32:15.714] | : Transpile call expression ... done [17:32:15.715] | : Evaluate transpiled call expression [17:32:15.747] | transpile() ... done [17:32:15.748] futurize() ... done === kernapply ========================== kernapply(x = X, k = k) --------------------------------- [17:32:15.751] futurize() ... [17:32:15.752] | transpile() ... [17:32:15.753] | : get_transpiler() ... [17:32:15.754] | : . Finding call to be transpiled ... [17:32:15.754] | : . | descend_wrappers() ... [17:32:15.755] | : . | : Call: [17:32:15.756] | : . | : kernapply [17:32:15.757] | : . | : parse_call() ... [17:32:15.758] | : . | : . Function: kernapply(...) [17:32:15.759] | : . | : . Locate function ... [17:32:15.760] | : . | : . | Function located in: 'stats' [17:32:15.760] | : . | : . Locate function ... done [17:32:15.761] | : . | : parse_call() ... done [17:32:15.762] | : . | descend_wrappers() ... done [17:32:15.763] | : . | parse_call() ... [17:32:15.763] | : . | : Function: kernapply(...) [17:32:15.764] | : . | : Locate function ... [17:32:15.765] | : . | : . Function located in: 'stats' [17:32:15.765] | : . | : Locate function ... done [17:32:15.766] | : . | parse_call() ... done [17:32:15.766] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.767] | : . | kernapply [17:32:15.768] | : . Finding call to be transpiled ... done [17:32:15.769] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [17:32:15.769] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.770] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [17:32:15.771] | : . | Transpiler function: [17:32:15.772] | : . | function (expr, options = NULL) [17:32:15.772] | : . | { [17:32:15.772] | : . | call <- make_call("future_kernapply") [17:32:15.772] | : . | fcn <- eval(call) [17:32:15.772] | : . | expr[[1]] <- call [17:32:15.772] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.772] | : . | { [17:32:15.772] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.772] | : . | if (is.null(defaults_base)) { [17:32:15.772] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.772] | : . | } [17:32:15.772] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.772] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.772] | : . | defaults <- defaults[keep] [17:32:15.772] | : . | specified <- attr(options, "specified") [17:32:15.772] | : . | if (length(specified) > 0) { [17:32:15.772] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.772] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.772] | : . | names(options)) [17:32:15.772] | : . | } [17:32:15.772] | : . | specified <- sprintf("future.%s", specified) [17:32:15.772] | : . | names <- setdiff(names(defaults), specified) [17:32:15.772] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.772] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.772] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.772] | : . | options <- options[keep] [17:32:15.772] | : . | options [17:32:15.772] | : . | })(options, fcn)) [17:32:15.772] | : . | expr <- as.call(parts) [17:32:15.772] | : . | expr [17:32:15.772] | : . | } [17:32:15.772] | : . | [17:32:15.774] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [17:32:15.774] | : get_transpiler() ... done [17:32:15.775] | : Transpile call expression ... [17:32:15.776] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [17:32:15.776] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:15.776] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:15.781] | : Transpile call expression ... done [17:32:15.782] | : Evaluate transpiled call expression [17:32:15.841] | transpile() ... done [17:32:15.842] futurize() ... done Futures created: 2 [17:32:15.843] futurize() ... [17:32:15.844] | transpile() ... [17:32:15.845] | : get_transpiler() ... [17:32:15.846] | : . Finding call to be transpiled ... [17:32:15.847] | : . | descend_wrappers() ... [17:32:15.848] | : . | : Call: [17:32:15.849] | : . | : kernapply [17:32:15.849] | : . | : parse_call() ... [17:32:15.850] | : . | : . Function: kernapply(...) [17:32:15.851] | : . | : . Locate function ... [17:32:15.852] | : . | : . | Function located in: 'stats' [17:32:15.853] | : . | : . Locate function ... done [17:32:15.853] | : . | : parse_call() ... done [17:32:15.854] | : . | descend_wrappers() ... done [17:32:15.855] | : . | parse_call() ... [17:32:15.856] | : . | : Function: kernapply(...) [17:32:15.857] | : . | : Locate function ... [17:32:15.858] | : . | : . Function located in: 'stats' [17:32:15.858] | : . | : Locate function ... done [17:32:15.859] | : . | parse_call() ... done [17:32:15.860] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.860] | : . | kernapply [17:32:15.862] | : . Finding call to be transpiled ... done [17:32:15.863] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [17:32:15.864] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.865] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [17:32:15.865] | : . | Transpiler function: [17:32:15.866] | : . | function (expr, options = NULL) [17:32:15.866] | : . | { [17:32:15.866] | : . | call <- make_call("future_kernapply") [17:32:15.866] | : . | fcn <- eval(call) [17:32:15.866] | : . | expr[[1]] <- call [17:32:15.866] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.866] | : . | { [17:32:15.866] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.866] | : . | if (is.null(defaults_base)) { [17:32:15.866] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.866] | : . | } [17:32:15.866] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.866] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.866] | : . | defaults <- defaults[keep] [17:32:15.866] | : . | specified <- attr(options, "specified") [17:32:15.866] | : . | if (length(specified) > 0) { [17:32:15.866] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.866] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.866] | : . | names(options)) [17:32:15.866] | : . | } [17:32:15.866] | : . | specified <- sprintf("future.%s", specified) [17:32:15.866] | : . | names <- setdiff(names(defaults), specified) [17:32:15.866] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.866] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.866] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.866] | : . | options <- options[keep] [17:32:15.866] | : . | options [17:32:15.866] | : . | })(options, fcn)) [17:32:15.866] | : . | expr <- as.call(parts) [17:32:15.866] | : . | expr [17:32:15.866] | : . | } [17:32:15.866] | : . | [17:32:15.868] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [17:32:15.869] | : get_transpiler() ... done [17:32:15.870] | : Transpile call expression ... [17:32:15.871] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [17:32:15.871] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:15.871] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:15.874] | : Transpile call expression ... done [17:32:15.874] | : Evaluate transpiled call expression [17:32:15.946] | transpile() ... done [17:32:15.947] futurize() ... done character(0) [17:32:15.948] futurize() ... [17:32:15.949] | transpile() ... [17:32:15.950] | : get_transpiler() ... [17:32:15.951] | : . Finding call to be transpiled ... [17:32:15.952] | : . | descend_wrappers() ... [17:32:15.953] | : . | : Call: [17:32:15.954] | : . | : kernapply [17:32:15.955] | : . | : parse_call() ... [17:32:15.956] | : . | : . Function: kernapply(...) [17:32:15.957] | : . | : . Locate function ... [17:32:15.958] | : . | : . | Function located in: 'stats' [17:32:15.959] | : . | : . Locate function ... done [17:32:15.959] | : . | : parse_call() ... done [17:32:15.960] | : . | descend_wrappers() ... done [17:32:15.961] | : . | parse_call() ... [17:32:15.962] | : . | : Function: kernapply(...) [17:32:15.962] | : . | : Locate function ... [17:32:15.963] | : . | : . Function located in: 'stats' [17:32:15.964] | : . | : Locate function ... done [17:32:15.965] | : . | parse_call() ... done [17:32:15.966] | : . | Position of call to be transpiled in expression: c(1) [17:32:15.967] | : . | kernapply [17:32:15.968] | : . Finding call to be transpiled ... done [17:32:15.969] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [17:32:15.970] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:15.971] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [17:32:15.972] | : . | Transpiler function: [17:32:15.973] | : . | function (expr, options = NULL) [17:32:15.973] | : . | { [17:32:15.973] | : . | call <- make_call("future_kernapply") [17:32:15.973] | : . | fcn <- eval(call) [17:32:15.973] | : . | expr[[1]] <- call [17:32:15.973] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:15.973] | : . | { [17:32:15.973] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:15.973] | : . | if (is.null(defaults_base)) { [17:32:15.973] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:15.973] | : . | } [17:32:15.973] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:15.973] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:15.973] | : . | defaults <- defaults[keep] [17:32:15.973] | : . | specified <- attr(options, "specified") [17:32:15.973] | : . | if (length(specified) > 0) { [17:32:15.973] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:15.973] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:15.973] | : . | names(options)) [17:32:15.973] | : . | } [17:32:15.973] | : . | specified <- sprintf("future.%s", specified) [17:32:15.973] | : . | names <- setdiff(names(defaults), specified) [17:32:15.973] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:15.973] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:15.973] | : . | keep <- intersect(names(options), names(defaults)) [17:32:15.973] | : . | options <- options[keep] [17:32:15.973] | : . | options [17:32:15.973] | : . | })(options, fcn)) [17:32:15.973] | : . | expr <- as.call(parts) [17:32:15.973] | : . | expr [17:32:15.973] | : . | } [17:32:15.973] | : . | [17:32:15.975] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [17:32:15.976] | : get_transpiler() ... done [17:32:15.976] | : Transpile call expression ... [17:32:15.978] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [17:32:15.978] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:15.978] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [17:32:15.980] | : Transpile call expression ... done [17:32:15.981] | : Evaluate transpiled call expression [17:32:16.058] | transpile() ... done [17:32:16.059] futurize() ... done Test with RNG: futurize(kernapply(x = X, k = k), seed = TRUE, flavor = "add-on") [17:32:16.061] futurize() ... [17:32:16.062] | transpile() ... [17:32:16.063] | : get_transpiler() ... [17:32:16.065] | : . Finding call to be transpiled ... [17:32:16.066] | : . | descend_wrappers() ... [17:32:16.067] | : . | : Call: [17:32:16.068] | : . | : kernapply [17:32:16.069] | : . | : parse_call() ... [17:32:16.070] | : . | : . Function: kernapply(...) [17:32:16.071] | : . | : . Locate function ... [17:32:16.072] | : . | : . | Function located in: 'stats' [17:32:16.073] | : . | : . Locate function ... done [17:32:16.074] | : . | : parse_call() ... done [17:32:16.075] | : . | descend_wrappers() ... done [17:32:16.076] | : . | parse_call() ... [17:32:16.077] | : . | : Function: kernapply(...) [17:32:16.078] | : . | : Locate function ... [17:32:16.079] | : . | : . Function located in: 'stats' [17:32:16.080] | : . | : Locate function ... done [17:32:16.081] | : . | parse_call() ... done [17:32:16.082] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.083] | : . | kernapply [17:32:16.085] | : . Finding call to be transpiled ... done [17:32:16.086] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [17:32:16.087] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.088] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [17:32:16.089] | : . | Transpiler function: [17:32:16.090] | : . | function (expr, options = NULL) [17:32:16.090] | : . | { [17:32:16.090] | : . | call <- make_call("future_kernapply") [17:32:16.090] | : . | fcn <- eval(call) [17:32:16.090] | : . | expr[[1]] <- call [17:32:16.090] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.090] | : . | { [17:32:16.090] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.090] | : . | if (is.null(defaults_base)) { [17:32:16.090] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.090] | : . | } [17:32:16.090] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.090] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.090] | : . | defaults <- defaults[keep] [17:32:16.090] | : . | specified <- attr(options, "specified") [17:32:16.090] | : . | if (length(specified) > 0) { [17:32:16.090] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.090] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.090] | : . | names(options)) [17:32:16.090] | : . | } [17:32:16.090] | : . | specified <- sprintf("future.%s", specified) [17:32:16.090] | : . | names <- setdiff(names(defaults), specified) [17:32:16.090] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.090] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.090] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.090] | : . | options <- options[keep] [17:32:16.090] | : . | options [17:32:16.090] | : . | })(options, fcn)) [17:32:16.090] | : . | expr <- as.call(parts) [17:32:16.090] | : . | expr [17:32:16.090] | : . | } [17:32:16.090] | : . | [17:32:16.092] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [17:32:16.093] | : get_transpiler() ... done [17:32:16.094] | : Transpile call expression ... [17:32:16.096] | : . future.apply::future_kernapply(x = X, k = k, future.seed = TRUE, [17:32:16.096] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:16.096] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:16.098] | : Transpile call expression ... done [17:32:16.099] | : Evaluate transpiled call expression [17:32:16.168] | transpile() ... done [17:32:16.169] futurize() ... done === lapply ========================== lapply(X = xs, FUN = FUN) --------------------------------- [17:32:16.171] futurize() ... [17:32:16.172] | transpile() ... [17:32:16.173] | : get_transpiler() ... [17:32:16.174] | : . Finding call to be transpiled ... [17:32:16.174] | : . | descend_wrappers() ... [17:32:16.175] | : . | : Call: [17:32:16.176] | : . | : lapply [17:32:16.177] | : . | : parse_call() ... [17:32:16.178] | : . | : . Function: lapply(...) [17:32:16.179] | : . | : . Locate function ... [17:32:16.180] | : . | : . | Function located in: 'base' [17:32:16.181] | : . | : . Locate function ... done [17:32:16.182] | : . | : parse_call() ... done [17:32:16.183] | : . | descend_wrappers() ... done [17:32:16.183] | : . | parse_call() ... [17:32:16.184] | : . | : Function: lapply(...) [17:32:16.185] | : . | : Locate function ... [17:32:16.186] | : . | : . Function located in: 'base' [17:32:16.187] | : . | : Locate function ... done [17:32:16.187] | : . | parse_call() ... done [17:32:16.188] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.189] | : . | lapply [17:32:16.190] | : . Finding call to be transpiled ... done [17:32:16.191] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.192] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.193] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.194] | : . | Transpiler function: [17:32:16.194] | : . | function (expr, options = NULL) [17:32:16.194] | : . | { [17:32:16.194] | : . | call <- make_call("future_lapply") [17:32:16.194] | : . | fcn <- eval(call) [17:32:16.194] | : . | expr[[1]] <- call [17:32:16.194] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.194] | : . | { [17:32:16.194] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.194] | : . | if (is.null(defaults_base)) { [17:32:16.194] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.194] | : . | } [17:32:16.194] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.194] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.194] | : . | defaults <- defaults[keep] [17:32:16.194] | : . | specified <- attr(options, "specified") [17:32:16.194] | : . | if (length(specified) > 0) { [17:32:16.194] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.194] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.194] | : . | names(options)) [17:32:16.194] | : . | } [17:32:16.194] | : . | specified <- sprintf("future.%s", specified) [17:32:16.194] | : . | names <- setdiff(names(defaults), specified) [17:32:16.194] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.194] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.194] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.194] | : . | options <- options[keep] [17:32:16.194] | : . | options [17:32:16.194] | : . | })(options, fcn)) [17:32:16.194] | : . | expr <- as.call(parts) [17:32:16.194] | : . | expr [17:32:16.194] | : . | } [17:32:16.194] | : . | [17:32:16.196] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.197] | : get_transpiler() ... done [17:32:16.198] | : Transpile call expression ... [17:32:16.199] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:16.199] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:16.199] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:16.201] | : Transpile call expression ... done [17:32:16.202] | : Evaluate transpiled call expression [17:32:16.261] | transpile() ... done [17:32:16.262] futurize() ... done Futures created: 2 [17:32:16.263] futurize() ... [17:32:16.264] | transpile() ... [17:32:16.265] | : get_transpiler() ... [17:32:16.266] | : . Finding call to be transpiled ... [17:32:16.267] | : . | descend_wrappers() ... [17:32:16.268] | : . | : Call: [17:32:16.269] | : . | : lapply [17:32:16.270] | : . | : parse_call() ... [17:32:16.271] | : . | : . Function: lapply(...) [17:32:16.272] | : . | : . Locate function ... [17:32:16.272] | : . | : . | Function located in: 'base' [17:32:16.273] | : . | : . Locate function ... done [17:32:16.274] | : . | : parse_call() ... done [17:32:16.275] | : . | descend_wrappers() ... done [17:32:16.276] | : . | parse_call() ... [17:32:16.277] | : . | : Function: lapply(...) [17:32:16.278] | : . | : Locate function ... [17:32:16.279] | : . | : . Function located in: 'base' [17:32:16.280] | : . | : Locate function ... done [17:32:16.281] | : . | parse_call() ... done [17:32:16.281] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.282] | : . | lapply [17:32:16.283] | : . Finding call to be transpiled ... done [17:32:16.284] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.285] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.286] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.287] | : . | Transpiler function: [17:32:16.288] | : . | function (expr, options = NULL) [17:32:16.288] | : . | { [17:32:16.288] | : . | call <- make_call("future_lapply") [17:32:16.288] | : . | fcn <- eval(call) [17:32:16.288] | : . | expr[[1]] <- call [17:32:16.288] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.288] | : . | { [17:32:16.288] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.288] | : . | if (is.null(defaults_base)) { [17:32:16.288] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.288] | : . | } [17:32:16.288] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.288] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.288] | : . | defaults <- defaults[keep] [17:32:16.288] | : . | specified <- attr(options, "specified") [17:32:16.288] | : . | if (length(specified) > 0) { [17:32:16.288] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.288] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.288] | : . | names(options)) [17:32:16.288] | : . | } [17:32:16.288] | : . | specified <- sprintf("future.%s", specified) [17:32:16.288] | : . | names <- setdiff(names(defaults), specified) [17:32:16.288] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.288] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.288] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.288] | : . | options <- options[keep] [17:32:16.288] | : . | options [17:32:16.288] | : . | })(options, fcn)) [17:32:16.288] | : . | expr <- as.call(parts) [17:32:16.288] | : . | expr [17:32:16.288] | : . | } [17:32:16.288] | : . | [17:32:16.289] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.290] | : get_transpiler() ... done [17:32:16.291] | : Transpile call expression ... [17:32:16.292] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:16.292] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:16.292] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:16.294] | : Transpile call expression ... done [17:32:16.295] | : Evaluate transpiled call expression [17:32:16.352] | transpile() ... done [17:32:16.353] futurize() ... done character(0) [17:32:16.354] futurize() ... [17:32:16.355] | transpile() ... [17:32:16.356] | : get_transpiler() ... [17:32:16.357] | : . Finding call to be transpiled ... [17:32:16.358] | : . | descend_wrappers() ... [17:32:16.358] | : . | : Call: [17:32:16.359] | : . | : lapply [17:32:16.361] | : . | : parse_call() ... [17:32:16.361] | : . | : . Function: lapply(...) [17:32:16.362] | : . | : . Locate function ... [17:32:16.363] | : . | : . | Function located in: 'base' [17:32:16.364] | : . | : . Locate function ... done [17:32:16.365] | : . | : parse_call() ... done [17:32:16.366] | : . | descend_wrappers() ... done [17:32:16.366] | : . | parse_call() ... [17:32:16.367] | : . | : Function: lapply(...) [17:32:16.368] | : . | : Locate function ... [17:32:16.369] | : . | : . Function located in: 'base' [17:32:16.370] | : . | : Locate function ... done [17:32:16.371] | : . | parse_call() ... done [17:32:16.371] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.372] | : . | lapply [17:32:16.373] | : . Finding call to be transpiled ... done [17:32:16.374] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.375] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.376] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.377] | : . | Transpiler function: [17:32:16.378] | : . | function (expr, options = NULL) [17:32:16.378] | : . | { [17:32:16.378] | : . | call <- make_call("future_lapply") [17:32:16.378] | : . | fcn <- eval(call) [17:32:16.378] | : . | expr[[1]] <- call [17:32:16.378] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.378] | : . | { [17:32:16.378] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.378] | : . | if (is.null(defaults_base)) { [17:32:16.378] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.378] | : . | } [17:32:16.378] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.378] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.378] | : . | defaults <- defaults[keep] [17:32:16.378] | : . | specified <- attr(options, "specified") [17:32:16.378] | : . | if (length(specified) > 0) { [17:32:16.378] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.378] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.378] | : . | names(options)) [17:32:16.378] | : . | } [17:32:16.378] | : . | specified <- sprintf("future.%s", specified) [17:32:16.378] | : . | names <- setdiff(names(defaults), specified) [17:32:16.378] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.378] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.378] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.378] | : . | options <- options[keep] [17:32:16.378] | : . | options [17:32:16.378] | : . | })(options, fcn)) [17:32:16.378] | : . | expr <- as.call(parts) [17:32:16.378] | : . | expr [17:32:16.378] | : . | } [17:32:16.378] | : . | [17:32:16.379] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.380] | : get_transpiler() ... done [17:32:16.381] | : Transpile call expression ... [17:32:16.382] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:16.382] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:16.382] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [17:32:16.384] | : Transpile call expression ... done [17:32:16.385] | : Evaluate transpiled call expression [17:32:16.529] | transpile() ... done [17:32:16.531] futurize() ... done Test with RNG: futurize(lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [17:32:16.532] futurize() ... [17:32:16.533] | transpile() ... [17:32:16.534] | : get_transpiler() ... [17:32:16.535] | : . Finding call to be transpiled ... [17:32:16.536] | : . | descend_wrappers() ... [17:32:16.536] | : . | : Call: [17:32:16.537] | : . | : lapply [17:32:16.538] | : . | : parse_call() ... [17:32:16.539] | : . | : . Function: lapply(...) [17:32:16.540] | : . | : . Locate function ... [17:32:16.541] | : . | : . | Function located in: 'base' [17:32:16.542] | : . | : . Locate function ... done [17:32:16.543] | : . | : parse_call() ... done [17:32:16.544] | : . | descend_wrappers() ... done [17:32:16.545] | : . | parse_call() ... [17:32:16.546] | : . | : Function: lapply(...) [17:32:16.547] | : . | : Locate function ... [17:32:16.548] | : . | : . Function located in: 'base' [17:32:16.549] | : . | : Locate function ... done [17:32:16.550] | : . | parse_call() ... done [17:32:16.551] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.552] | : . | lapply [17:32:16.553] | : . Finding call to be transpiled ... done [17:32:16.554] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.555] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.556] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.557] | : . | Transpiler function: [17:32:16.557] | : . | function (expr, options = NULL) [17:32:16.557] | : . | { [17:32:16.557] | : . | call <- make_call("future_lapply") [17:32:16.557] | : . | fcn <- eval(call) [17:32:16.557] | : . | expr[[1]] <- call [17:32:16.557] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.557] | : . | { [17:32:16.557] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.557] | : . | if (is.null(defaults_base)) { [17:32:16.557] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.557] | : . | } [17:32:16.557] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.557] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.557] | : . | defaults <- defaults[keep] [17:32:16.557] | : . | specified <- attr(options, "specified") [17:32:16.557] | : . | if (length(specified) > 0) { [17:32:16.557] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.557] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.557] | : . | names(options)) [17:32:16.557] | : . | } [17:32:16.557] | : . | specified <- sprintf("future.%s", specified) [17:32:16.557] | : . | names <- setdiff(names(defaults), specified) [17:32:16.557] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.557] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.557] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.557] | : . | options <- options[keep] [17:32:16.557] | : . | options [17:32:16.557] | : . | })(options, fcn)) [17:32:16.557] | : . | expr <- as.call(parts) [17:32:16.557] | : . | expr [17:32:16.557] | : . | } [17:32:16.557] | : . | [17:32:16.559] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.560] | : get_transpiler() ... done [17:32:16.561] | : Transpile call expression ... [17:32:16.563] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:16.563] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:16.563] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:16.564] | : Transpile call expression ... done [17:32:16.565] | : Evaluate transpiled call expression [17:32:16.634] | transpile() ... done [17:32:16.635] futurize() ... done === lapply ========================== base::lapply(X = xs, FUN = FUN) --------------------------------- [17:32:16.638] futurize() ... [17:32:16.639] | transpile() ... [17:32:16.640] | : get_transpiler() ... [17:32:16.641] | : . Finding call to be transpiled ... [17:32:16.642] | : . | descend_wrappers() ... [17:32:16.643] | : . | : Call: [17:32:16.644] | : . | : base::lapply [17:32:16.646] | : . | : parse_call() ... [17:32:16.647] | : . | : . Function: base::lapply(...) [17:32:16.648] | : . | : parse_call() ... done [17:32:16.649] | : . | descend_wrappers() ... done [17:32:16.650] | : . | parse_call() ... [17:32:16.651] | : . | : Function: base::lapply(...) [17:32:16.652] | : . | parse_call() ... done [17:32:16.653] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.654] | : . | base::lapply [17:32:16.655] | : . Finding call to be transpiled ... done [17:32:16.656] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.659] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.660] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.661] | : . | Transpiler function: [17:32:16.662] | : . | function (expr, options = NULL) [17:32:16.662] | : . | { [17:32:16.662] | : . | call <- make_call("future_lapply") [17:32:16.662] | : . | fcn <- eval(call) [17:32:16.662] | : . | expr[[1]] <- call [17:32:16.662] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.662] | : . | { [17:32:16.662] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.662] | : . | if (is.null(defaults_base)) { [17:32:16.662] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.662] | : . | } [17:32:16.662] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.662] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.662] | : . | defaults <- defaults[keep] [17:32:16.662] | : . | specified <- attr(options, "specified") [17:32:16.662] | : . | if (length(specified) > 0) { [17:32:16.662] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.662] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.662] | : . | names(options)) [17:32:16.662] | : . | } [17:32:16.662] | : . | specified <- sprintf("future.%s", specified) [17:32:16.662] | : . | names <- setdiff(names(defaults), specified) [17:32:16.662] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.662] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.662] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.662] | : . | options <- options[keep] [17:32:16.662] | : . | options [17:32:16.662] | : . | })(options, fcn)) [17:32:16.662] | : . | expr <- as.call(parts) [17:32:16.662] | : . | expr [17:32:16.662] | : . | } [17:32:16.662] | : . | [17:32:16.664] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.665] | : get_transpiler() ... done [17:32:16.666] | : Transpile call expression ... [17:32:16.667] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:16.667] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:16.667] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:16.670] | : Transpile call expression ... done [17:32:16.671] | : Evaluate transpiled call expression [17:32:16.715] | transpile() ... done [17:32:16.716] futurize() ... done Futures created: 2 [17:32:16.717] futurize() ... [17:32:16.718] | transpile() ... [17:32:16.719] | : get_transpiler() ... [17:32:16.719] | : . Finding call to be transpiled ... [17:32:16.720] | : . | descend_wrappers() ... [17:32:16.721] | : . | : Call: [17:32:16.721] | : . | : base::lapply [17:32:16.722] | : . | : parse_call() ... [17:32:16.723] | : . | : . Function: base::lapply(...) [17:32:16.724] | : . | : parse_call() ... done [17:32:16.725] | : . | descend_wrappers() ... done [17:32:16.725] | : . | parse_call() ... [17:32:16.726] | : . | : Function: base::lapply(...) [17:32:16.727] | : . | parse_call() ... done [17:32:16.728] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.729] | : . | base::lapply [17:32:16.730] | : . Finding call to be transpiled ... done [17:32:16.731] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.731] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.732] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.733] | : . | Transpiler function: [17:32:16.733] | : . | function (expr, options = NULL) [17:32:16.733] | : . | { [17:32:16.733] | : . | call <- make_call("future_lapply") [17:32:16.733] | : . | fcn <- eval(call) [17:32:16.733] | : . | expr[[1]] <- call [17:32:16.733] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.733] | : . | { [17:32:16.733] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.733] | : . | if (is.null(defaults_base)) { [17:32:16.733] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.733] | : . | } [17:32:16.733] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.733] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.733] | : . | defaults <- defaults[keep] [17:32:16.733] | : . | specified <- attr(options, "specified") [17:32:16.733] | : . | if (length(specified) > 0) { [17:32:16.733] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.733] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.733] | : . | names(options)) [17:32:16.733] | : . | } [17:32:16.733] | : . | specified <- sprintf("future.%s", specified) [17:32:16.733] | : . | names <- setdiff(names(defaults), specified) [17:32:16.733] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.733] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.733] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.733] | : . | options <- options[keep] [17:32:16.733] | : . | options [17:32:16.733] | : . | })(options, fcn)) [17:32:16.733] | : . | expr <- as.call(parts) [17:32:16.733] | : . | expr [17:32:16.733] | : . | } [17:32:16.733] | : . | [17:32:16.735] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.735] | : get_transpiler() ... done [17:32:16.736] | : Transpile call expression ... [17:32:16.738] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:16.738] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:16.738] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:16.740] | : Transpile call expression ... done [17:32:16.742] | : Evaluate transpiled call expression [17:32:16.823] | transpile() ... done [17:32:16.824] futurize() ... done character(0) [17:32:16.825] futurize() ... [17:32:16.826] | transpile() ... [17:32:16.827] | : get_transpiler() ... [17:32:16.827] | : . Finding call to be transpiled ... [17:32:16.828] | : . | descend_wrappers() ... [17:32:16.829] | : . | : Call: [17:32:16.830] | : . | : base::lapply [17:32:16.831] | : . | : parse_call() ... [17:32:16.832] | : . | : . Function: base::lapply(...) [17:32:16.832] | : . | : parse_call() ... done [17:32:16.833] | : . | descend_wrappers() ... done [17:32:16.833] | : . | parse_call() ... [17:32:16.834] | : . | : Function: base::lapply(...) [17:32:16.835] | : . | parse_call() ... done [17:32:16.835] | : . | Position of call to be transpiled in expression: c(1) [17:32:16.836] | : . | base::lapply [17:32:16.836] | : . Finding call to be transpiled ... done [17:32:16.837] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:16.838] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:16.838] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:16.839] | : . | Transpiler function: [17:32:16.839] | : . | function (expr, options = NULL) [17:32:16.839] | : . | { [17:32:16.839] | : . | call <- make_call("future_lapply") [17:32:16.839] | : . | fcn <- eval(call) [17:32:16.839] | : . | expr[[1]] <- call [17:32:16.839] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:16.839] | : . | { [17:32:16.839] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:16.839] | : . | if (is.null(defaults_base)) { [17:32:16.839] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:16.839] | : . | } [17:32:16.839] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:16.839] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:16.839] | : . | defaults <- defaults[keep] [17:32:16.839] | : . | specified <- attr(options, "specified") [17:32:16.839] | : . | if (length(specified) > 0) { [17:32:16.839] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:16.839] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:16.839] | : . | names(options)) [17:32:16.839] | : . | } [17:32:16.839] | : . | specified <- sprintf("future.%s", specified) [17:32:16.839] | : . | names <- setdiff(names(defaults), specified) [17:32:16.839] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:16.839] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:16.839] | : . | keep <- intersect(names(options), names(defaults)) [17:32:16.839] | : . | options <- options[keep] [17:32:16.839] | : . | options [17:32:16.839] | : . | })(options, fcn)) [17:32:16.839] | : . | expr <- as.call(parts) [17:32:16.839] | : . | expr [17:32:16.839] | : . | } [17:32:16.839] | : . | [17:32:16.841] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:16.841] | : get_transpiler() ... done [17:32:16.842] | : Transpile call expression ... [17:32:16.843] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:16.843] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:16.843] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [17:32:16.844] | : Transpile call expression ... done [17:32:16.845] | : Evaluate transpiled call expression [17:32:17.234] | transpile() ... done [17:32:17.235] futurize() ... done Test with RNG: futurize(base::lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [17:32:17.236] futurize() ... [17:32:17.237] | transpile() ... [17:32:17.238] | : get_transpiler() ... [17:32:17.239] | : . Finding call to be transpiled ... [17:32:17.240] | : . | descend_wrappers() ... [17:32:17.241] | : . | : Call: [17:32:17.242] | : . | : base::lapply [17:32:17.243] | : . | : parse_call() ... [17:32:17.244] | : . | : . Function: base::lapply(...) [17:32:17.244] | : . | : parse_call() ... done [17:32:17.245] | : . | descend_wrappers() ... done [17:32:17.246] | : . | parse_call() ... [17:32:17.247] | : . | : Function: base::lapply(...) [17:32:17.248] | : . | parse_call() ... done [17:32:17.249] | : . | Position of call to be transpiled in expression: c(1) [17:32:17.249] | : . | base::lapply [17:32:17.251] | : . Finding call to be transpiled ... done [17:32:17.251] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:17.252] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:17.253] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:17.254] | : . | Transpiler function: [17:32:17.255] | : . | function (expr, options = NULL) [17:32:17.255] | : . | { [17:32:17.255] | : . | call <- make_call("future_lapply") [17:32:17.255] | : . | fcn <- eval(call) [17:32:17.255] | : . | expr[[1]] <- call [17:32:17.255] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:17.255] | : . | { [17:32:17.255] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:17.255] | : . | if (is.null(defaults_base)) { [17:32:17.255] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:17.255] | : . | } [17:32:17.255] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:17.255] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:17.255] | : . | defaults <- defaults[keep] [17:32:17.255] | : . | specified <- attr(options, "specified") [17:32:17.255] | : . | if (length(specified) > 0) { [17:32:17.255] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:17.255] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:17.255] | : . | names(options)) [17:32:17.255] | : . | } [17:32:17.255] | : . | specified <- sprintf("future.%s", specified) [17:32:17.255] | : . | names <- setdiff(names(defaults), specified) [17:32:17.255] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:17.255] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:17.255] | : . | keep <- intersect(names(options), names(defaults)) [17:32:17.255] | : . | options <- options[keep] [17:32:17.255] | : . | options [17:32:17.255] | : . | })(options, fcn)) [17:32:17.255] | : . | expr <- as.call(parts) [17:32:17.255] | : . | expr [17:32:17.255] | : . | } [17:32:17.255] | : . | [17:32:17.256] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:17.257] | : get_transpiler() ... done [17:32:17.258] | : Transpile call expression ... [17:32:17.259] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:17.259] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:17.259] | : . future.scheduling = 1, future.label = "future_lapply-%d") [17:32:17.261] | : Transpile call expression ... done [17:32:17.262] | : Evaluate transpiled call expression [17:32:17.328] | transpile() ... done [17:32:17.330] futurize() ... done === sapply ========================== sapply(X = xs, FUN = FUN) --------------------------------- [17:32:17.336] futurize() ... [17:32:17.337] | transpile() ... [17:32:17.338] | : get_transpiler() ... [17:32:17.338] | : . Finding call to be transpiled ... [17:32:17.339] | : . | descend_wrappers() ... [17:32:17.340] | : . | : Call: [17:32:17.341] | : . | : sapply [17:32:17.342] | : . | : parse_call() ... [17:32:17.343] | : . | : . Function: sapply(...) [17:32:17.344] | : . | : . Locate function ... [17:32:17.345] | : . | : . | Function located in: 'base' [17:32:17.346] | : . | : . Locate function ... done [17:32:17.346] | : . | : parse_call() ... done [17:32:17.347] | : . | descend_wrappers() ... done [17:32:17.348] | : . | parse_call() ... [17:32:17.349] | : . | : Function: sapply(...) [17:32:17.350] | : . | : Locate function ... [17:32:17.353] | : . | : . Function located in: 'base' [17:32:17.354] | : . | : Locate function ... done [17:32:17.356] | : . | parse_call() ... done [17:32:17.357] | : . | Position of call to be transpiled in expression: c(1) [17:32:17.358] | : . | sapply [17:32:17.359] | : . Finding call to be transpiled ... done [17:32:17.361] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:17.362] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:17.363] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:17.364] | : . | Transpiler function: [17:32:17.365] | : . | function (expr, options = NULL) [17:32:17.365] | : . | { [17:32:17.365] | : . | call <- make_call("future_sapply") [17:32:17.365] | : . | fcn <- eval(call) [17:32:17.365] | : . | expr[[1]] <- call [17:32:17.365] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:17.365] | : . | { [17:32:17.365] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:17.365] | : . | if (is.null(defaults_base)) { [17:32:17.365] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:17.365] | : . | } [17:32:17.365] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:17.365] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:17.365] | : . | defaults <- defaults[keep] [17:32:17.365] | : . | specified <- attr(options, "specified") [17:32:17.365] | : . | if (length(specified) > 0) { [17:32:17.365] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:17.365] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:17.365] | : . | names(options)) [17:32:17.365] | : . | } [17:32:17.365] | : . | specified <- sprintf("future.%s", specified) [17:32:17.365] | : . | names <- setdiff(names(defaults), specified) [17:32:17.365] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:17.365] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:17.365] | : . | keep <- intersect(names(options), names(defaults)) [17:32:17.365] | : . | options <- options[keep] [17:32:17.365] | : . | options [17:32:17.365] | : . | })(options, fcn)) [17:32:17.365] | : . | expr <- as.call(parts) [17:32:17.365] | : . | expr [17:32:17.365] | : . | } [17:32:17.365] | : . | [17:32:17.366] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:17.367] | : get_transpiler() ... done [17:32:17.368] | : Transpile call expression ... [17:32:17.370] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:17.370] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:17.370] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:17.372] | : Transpile call expression ... done [17:32:17.373] | : Evaluate transpiled call expression [17:32:17.438] | transpile() ... done [17:32:17.440] futurize() ... done Futures created: 2 [17:32:17.441] futurize() ... [17:32:17.442] | transpile() ... [17:32:17.443] | : get_transpiler() ... [17:32:17.444] | : . Finding call to be transpiled ... [17:32:17.444] | : . | descend_wrappers() ... [17:32:17.445] | : . | : Call: [17:32:17.445] | : . | : sapply [17:32:17.446] | : . | : parse_call() ... [17:32:17.447] | : . | : . Function: sapply(...) [17:32:17.447] | : . | : . Locate function ... [17:32:17.448] | : . | : . | Function located in: 'base' [17:32:17.449] | : . | : . Locate function ... done [17:32:17.450] | : . | : parse_call() ... done [17:32:17.451] | : . | descend_wrappers() ... done [17:32:17.451] | : . | parse_call() ... [17:32:17.452] | : . | : Function: sapply(...) [17:32:17.453] | : . | : Locate function ... [17:32:17.454] | : . | : . Function located in: 'base' [17:32:17.455] | : . | : Locate function ... done [17:32:17.456] | : . | parse_call() ... done [17:32:17.457] | : . | Position of call to be transpiled in expression: c(1) [17:32:17.458] | : . | sapply [17:32:17.459] | : . Finding call to be transpiled ... done [17:32:17.460] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:17.461] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:17.462] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:17.463] | : . | Transpiler function: [17:32:17.464] | : . | function (expr, options = NULL) [17:32:17.464] | : . | { [17:32:17.464] | : . | call <- make_call("future_sapply") [17:32:17.464] | : . | fcn <- eval(call) [17:32:17.464] | : . | expr[[1]] <- call [17:32:17.464] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:17.464] | : . | { [17:32:17.464] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:17.464] | : . | if (is.null(defaults_base)) { [17:32:17.464] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:17.464] | : . | } [17:32:17.464] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:17.464] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:17.464] | : . | defaults <- defaults[keep] [17:32:17.464] | : . | specified <- attr(options, "specified") [17:32:17.464] | : . | if (length(specified) > 0) { [17:32:17.464] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:17.464] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:17.464] | : . | names(options)) [17:32:17.464] | : . | } [17:32:17.464] | : . | specified <- sprintf("future.%s", specified) [17:32:17.464] | : . | names <- setdiff(names(defaults), specified) [17:32:17.464] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:17.464] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:17.464] | : . | keep <- intersect(names(options), names(defaults)) [17:32:17.464] | : . | options <- options[keep] [17:32:17.464] | : . | options [17:32:17.464] | : . | })(options, fcn)) [17:32:17.464] | : . | expr <- as.call(parts) [17:32:17.464] | : . | expr [17:32:17.464] | : . | } [17:32:17.464] | : . | [17:32:17.466] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:17.467] | : get_transpiler() ... done [17:32:17.468] | : Transpile call expression ... [17:32:17.470] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:17.470] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:17.470] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:17.472] | : Transpile call expression ... done [17:32:17.473] | : Evaluate transpiled call expression [17:32:17.575] | transpile() ... done [17:32:17.576] futurize() ... done character(0) [17:32:17.577] futurize() ... [17:32:17.578] | transpile() ... [17:32:17.579] | : get_transpiler() ... [17:32:17.579] | : . Finding call to be transpiled ... [17:32:17.580] | : . | descend_wrappers() ... [17:32:17.581] | : . | : Call: [17:32:17.582] | : . | : sapply [17:32:17.583] | : . | : parse_call() ... [17:32:17.584] | : . | : . Function: sapply(...) [17:32:17.584] | : . | : . Locate function ... [17:32:17.585] | : . | : . | Function located in: 'base' [17:32:17.586] | : . | : . Locate function ... done [17:32:17.587] | : . | : parse_call() ... done [17:32:17.588] | : . | descend_wrappers() ... done [17:32:17.589] | : . | parse_call() ... [17:32:17.589] | : . | : Function: sapply(...) [17:32:17.590] | : . | : Locate function ... [17:32:17.591] | : . | : . Function located in: 'base' [17:32:17.592] | : . | : Locate function ... done [17:32:17.593] | : . | parse_call() ... done [17:32:17.594] | : . | Position of call to be transpiled in expression: c(1) [17:32:17.595] | : . | sapply [17:32:17.596] | : . Finding call to be transpiled ... done [17:32:17.596] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:17.597] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:17.597] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:17.598] | : . | Transpiler function: [17:32:17.599] | : . | function (expr, options = NULL) [17:32:17.599] | : . | { [17:32:17.599] | : . | call <- make_call("future_sapply") [17:32:17.599] | : . | fcn <- eval(call) [17:32:17.599] | : . | expr[[1]] <- call [17:32:17.599] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:17.599] | : . | { [17:32:17.599] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:17.599] | : . | if (is.null(defaults_base)) { [17:32:17.599] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:17.599] | : . | } [17:32:17.599] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:17.599] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:17.599] | : . | defaults <- defaults[keep] [17:32:17.599] | : . | specified <- attr(options, "specified") [17:32:17.599] | : . | if (length(specified) > 0) { [17:32:17.599] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:17.599] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:17.599] | : . | names(options)) [17:32:17.599] | : . | } [17:32:17.599] | : . | specified <- sprintf("future.%s", specified) [17:32:17.599] | : . | names <- setdiff(names(defaults), specified) [17:32:17.599] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:17.599] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:17.599] | : . | keep <- intersect(names(options), names(defaults)) [17:32:17.599] | : . | options <- options[keep] [17:32:17.599] | : . | options [17:32:17.599] | : . | })(options, fcn)) [17:32:17.599] | : . | expr <- as.call(parts) [17:32:17.599] | : . | expr [17:32:17.599] | : . | } [17:32:17.599] | : . | [17:32:17.600] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:17.601] | : get_transpiler() ... done [17:32:17.602] | : Transpile call expression ... [17:32:17.603] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:17.603] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:17.603] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [17:32:17.605] | : Transpile call expression ... done [17:32:17.606] | : Evaluate transpiled call expression [17:32:17.754] | transpile() ... done [17:32:17.755] futurize() ... done Test with RNG: futurize(sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [17:32:17.756] futurize() ... [17:32:17.757] | transpile() ... [17:32:17.758] | : get_transpiler() ... [17:32:17.759] | : . Finding call to be transpiled ... [17:32:17.760] | : . | descend_wrappers() ... [17:32:17.761] | : . | : Call: [17:32:17.762] | : . | : sapply [17:32:17.762] | : . | : parse_call() ... [17:32:17.763] | : . | : . Function: sapply(...) [17:32:17.764] | : . | : . Locate function ... [17:32:17.764] | : . | : . | Function located in: 'base' [17:32:17.765] | : . | : . Locate function ... done [17:32:17.765] | : . | : parse_call() ... done [17:32:17.766] | : . | descend_wrappers() ... done [17:32:17.766] | : . | parse_call() ... [17:32:17.767] | : . | : Function: sapply(...) [17:32:17.768] | : . | : Locate function ... [17:32:17.768] | : . | : . Function located in: 'base' [17:32:17.769] | : . | : Locate function ... done [17:32:17.769] | : . | parse_call() ... done [17:32:17.770] | : . | Position of call to be transpiled in expression: c(1) [17:32:17.771] | : . | sapply [17:32:17.772] | : . Finding call to be transpiled ... done [17:32:17.773] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:17.774] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:17.775] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:17.775] | : . | Transpiler function: [17:32:17.776] | : . | function (expr, options = NULL) [17:32:17.776] | : . | { [17:32:17.776] | : . | call <- make_call("future_sapply") [17:32:17.776] | : . | fcn <- eval(call) [17:32:17.776] | : . | expr[[1]] <- call [17:32:17.776] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:17.776] | : . | { [17:32:17.776] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:17.776] | : . | if (is.null(defaults_base)) { [17:32:17.776] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:17.776] | : . | } [17:32:17.776] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:17.776] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:17.776] | : . | defaults <- defaults[keep] [17:32:17.776] | : . | specified <- attr(options, "specified") [17:32:17.776] | : . | if (length(specified) > 0) { [17:32:17.776] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:17.776] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:17.776] | : . | names(options)) [17:32:17.776] | : . | } [17:32:17.776] | : . | specified <- sprintf("future.%s", specified) [17:32:17.776] | : . | names <- setdiff(names(defaults), specified) [17:32:17.776] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:17.776] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:17.776] | : . | keep <- intersect(names(options), names(defaults)) [17:32:17.776] | : . | options <- options[keep] [17:32:17.776] | : . | options [17:32:17.776] | : . | })(options, fcn)) [17:32:17.776] | : . | expr <- as.call(parts) [17:32:17.776] | : . | expr [17:32:17.776] | : . | } [17:32:17.776] | : . | [17:32:17.778] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:17.779] | : get_transpiler() ... done [17:32:17.779] | : Transpile call expression ... [17:32:17.781] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:17.781] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:17.781] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:17.782] | : Transpile call expression ... done [17:32:17.784] | : Evaluate transpiled call expression [17:32:17.868] | transpile() ... done [17:32:17.869] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN) --------------------------------- [17:32:17.871] futurize() ... [17:32:17.872] | transpile() ... [17:32:17.873] | : get_transpiler() ... [17:32:17.874] | : . Finding call to be transpiled ... [17:32:17.875] | : . | descend_wrappers() ... [17:32:17.876] | : . | : Call: [17:32:17.877] | : . | : base::sapply [17:32:17.878] | : . | : parse_call() ... [17:32:17.879] | : . | : . Function: base::sapply(...) [17:32:17.880] | : . | : parse_call() ... done [17:32:17.881] | : . | descend_wrappers() ... done [17:32:17.882] | : . | parse_call() ... [17:32:17.883] | : . | : Function: base::sapply(...) [17:32:17.884] | : . | parse_call() ... done [17:32:17.885] | : . | Position of call to be transpiled in expression: c(1) [17:32:17.886] | : . | base::sapply [17:32:17.887] | : . Finding call to be transpiled ... done [17:32:17.888] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:17.889] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:17.890] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:17.891] | : . | Transpiler function: [17:32:17.892] | : . | function (expr, options = NULL) [17:32:17.892] | : . | { [17:32:17.892] | : . | call <- make_call("future_sapply") [17:32:17.892] | : . | fcn <- eval(call) [17:32:17.892] | : . | expr[[1]] <- call [17:32:17.892] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:17.892] | : . | { [17:32:17.892] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:17.892] | : . | if (is.null(defaults_base)) { [17:32:17.892] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:17.892] | : . | } [17:32:17.892] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:17.892] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:17.892] | : . | defaults <- defaults[keep] [17:32:17.892] | : . | specified <- attr(options, "specified") [17:32:17.892] | : . | if (length(specified) > 0) { [17:32:17.892] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:17.892] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:17.892] | : . | names(options)) [17:32:17.892] | : . | } [17:32:17.892] | : . | specified <- sprintf("future.%s", specified) [17:32:17.892] | : . | names <- setdiff(names(defaults), specified) [17:32:17.892] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:17.892] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:17.892] | : . | keep <- intersect(names(options), names(defaults)) [17:32:17.892] | : . | options <- options[keep] [17:32:17.892] | : . | options [17:32:17.892] | : . | })(options, fcn)) [17:32:17.892] | : . | expr <- as.call(parts) [17:32:17.892] | : . | expr [17:32:17.892] | : . | } [17:32:17.892] | : . | [17:32:17.893] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:17.895] | : get_transpiler() ... done [17:32:17.895] | : Transpile call expression ... [17:32:17.897] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:17.897] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:17.897] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:17.899] | : Transpile call expression ... done [17:32:17.900] | : Evaluate transpiled call expression [17:32:17.999] | transpile() ... done [17:32:18.000] futurize() ... done Futures created: 2 [17:32:18.002] futurize() ... [17:32:18.003] | transpile() ... [17:32:18.004] | : get_transpiler() ... [17:32:18.005] | : . Finding call to be transpiled ... [17:32:18.006] | : . | descend_wrappers() ... [17:32:18.006] | : . | : Call: [17:32:18.007] | : . | : base::sapply [17:32:18.008] | : . | : parse_call() ... [17:32:18.009] | : . | : . Function: base::sapply(...) [17:32:18.010] | : . | : parse_call() ... done [17:32:18.011] | : . | descend_wrappers() ... done [17:32:18.012] | : . | parse_call() ... [17:32:18.013] | : . | : Function: base::sapply(...) [17:32:18.014] | : . | parse_call() ... done [17:32:18.015] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.016] | : . | base::sapply [17:32:18.017] | : . Finding call to be transpiled ... done [17:32:18.018] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.019] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.020] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.021] | : . | Transpiler function: [17:32:18.022] | : . | function (expr, options = NULL) [17:32:18.022] | : . | { [17:32:18.022] | : . | call <- make_call("future_sapply") [17:32:18.022] | : . | fcn <- eval(call) [17:32:18.022] | : . | expr[[1]] <- call [17:32:18.022] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.022] | : . | { [17:32:18.022] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.022] | : . | if (is.null(defaults_base)) { [17:32:18.022] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.022] | : . | } [17:32:18.022] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.022] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.022] | : . | defaults <- defaults[keep] [17:32:18.022] | : . | specified <- attr(options, "specified") [17:32:18.022] | : . | if (length(specified) > 0) { [17:32:18.022] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.022] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.022] | : . | names(options)) [17:32:18.022] | : . | } [17:32:18.022] | : . | specified <- sprintf("future.%s", specified) [17:32:18.022] | : . | names <- setdiff(names(defaults), specified) [17:32:18.022] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.022] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.022] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.022] | : . | options <- options[keep] [17:32:18.022] | : . | options [17:32:18.022] | : . | })(options, fcn)) [17:32:18.022] | : . | expr <- as.call(parts) [17:32:18.022] | : . | expr [17:32:18.022] | : . | } [17:32:18.022] | : . | [17:32:18.024] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.025] | : get_transpiler() ... done [17:32:18.025] | : Transpile call expression ... [17:32:18.027] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:18.027] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:18.027] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:18.029] | : Transpile call expression ... done [17:32:18.030] | : Evaluate transpiled call expression [17:32:18.096] | transpile() ... done [17:32:18.098] futurize() ... done character(0) [17:32:18.099] futurize() ... [17:32:18.100] | transpile() ... [17:32:18.101] | : get_transpiler() ... [17:32:18.103] | : . Finding call to be transpiled ... [17:32:18.104] | : . | descend_wrappers() ... [17:32:18.105] | : . | : Call: [17:32:18.106] | : . | : base::sapply [17:32:18.107] | : . | : parse_call() ... [17:32:18.108] | : . | : . Function: base::sapply(...) [17:32:18.109] | : . | : parse_call() ... done [17:32:18.110] | : . | descend_wrappers() ... done [17:32:18.112] | : . | parse_call() ... [17:32:18.114] | : . | : Function: base::sapply(...) [17:32:18.116] | : . | parse_call() ... done [17:32:18.117] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.118] | : . | base::sapply [17:32:18.120] | : . Finding call to be transpiled ... done [17:32:18.121] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.122] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.124] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.125] | : . | Transpiler function: [17:32:18.126] | : . | function (expr, options = NULL) [17:32:18.126] | : . | { [17:32:18.126] | : . | call <- make_call("future_sapply") [17:32:18.126] | : . | fcn <- eval(call) [17:32:18.126] | : . | expr[[1]] <- call [17:32:18.126] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.126] | : . | { [17:32:18.126] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.126] | : . | if (is.null(defaults_base)) { [17:32:18.126] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.126] | : . | } [17:32:18.126] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.126] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.126] | : . | defaults <- defaults[keep] [17:32:18.126] | : . | specified <- attr(options, "specified") [17:32:18.126] | : . | if (length(specified) > 0) { [17:32:18.126] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.126] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.126] | : . | names(options)) [17:32:18.126] | : . | } [17:32:18.126] | : . | specified <- sprintf("future.%s", specified) [17:32:18.126] | : . | names <- setdiff(names(defaults), specified) [17:32:18.126] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.126] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.126] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.126] | : . | options <- options[keep] [17:32:18.126] | : . | options [17:32:18.126] | : . | })(options, fcn)) [17:32:18.126] | : . | expr <- as.call(parts) [17:32:18.126] | : . | expr [17:32:18.126] | : . | } [17:32:18.126] | : . | [17:32:18.127] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.129] | : get_transpiler() ... done [17:32:18.130] | : Transpile call expression ... [17:32:18.132] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [17:32:18.132] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:18.132] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [17:32:18.134] | : Transpile call expression ... done [17:32:18.136] | : Evaluate transpiled call expression [17:32:18.296] | transpile() ... done [17:32:18.298] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [17:32:18.299] futurize() ... [17:32:18.300] | transpile() ... [17:32:18.301] | : get_transpiler() ... [17:32:18.301] | : . Finding call to be transpiled ... [17:32:18.302] | : . | descend_wrappers() ... [17:32:18.303] | : . | : Call: [17:32:18.304] | : . | : base::sapply [17:32:18.305] | : . | : parse_call() ... [17:32:18.306] | : . | : . Function: base::sapply(...) [17:32:18.307] | : . | : parse_call() ... done [17:32:18.307] | : . | descend_wrappers() ... done [17:32:18.308] | : . | parse_call() ... [17:32:18.309] | : . | : Function: base::sapply(...) [17:32:18.310] | : . | parse_call() ... done [17:32:18.311] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.311] | : . | base::sapply [17:32:18.312] | : . Finding call to be transpiled ... done [17:32:18.313] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.314] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.314] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.315] | : . | Transpiler function: [17:32:18.316] | : . | function (expr, options = NULL) [17:32:18.316] | : . | { [17:32:18.316] | : . | call <- make_call("future_sapply") [17:32:18.316] | : . | fcn <- eval(call) [17:32:18.316] | : . | expr[[1]] <- call [17:32:18.316] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.316] | : . | { [17:32:18.316] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.316] | : . | if (is.null(defaults_base)) { [17:32:18.316] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.316] | : . | } [17:32:18.316] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.316] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.316] | : . | defaults <- defaults[keep] [17:32:18.316] | : . | specified <- attr(options, "specified") [17:32:18.316] | : . | if (length(specified) > 0) { [17:32:18.316] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.316] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.316] | : . | names(options)) [17:32:18.316] | : . | } [17:32:18.316] | : . | specified <- sprintf("future.%s", specified) [17:32:18.316] | : . | names <- setdiff(names(defaults), specified) [17:32:18.316] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.316] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.316] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.316] | : . | options <- options[keep] [17:32:18.316] | : . | options [17:32:18.316] | : . | })(options, fcn)) [17:32:18.316] | : . | expr <- as.call(parts) [17:32:18.316] | : . | expr [17:32:18.316] | : . | } [17:32:18.316] | : . | [17:32:18.318] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.319] | : get_transpiler() ... done [17:32:18.320] | : Transpile call expression ... [17:32:18.321] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [17:32:18.321] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:18.321] | : . future.scheduling = 1, future.label = "future_sapply-%d") [17:32:18.323] | : Transpile call expression ... done [17:32:18.324] | : Evaluate transpiled call expression [17:32:18.377] | transpile() ... done [17:32:18.377] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, simplify = FALSE) --------------------------------- [17:32:18.379] futurize() ... [17:32:18.380] | transpile() ... [17:32:18.380] | : get_transpiler() ... [17:32:18.381] | : . Finding call to be transpiled ... [17:32:18.382] | : . | descend_wrappers() ... [17:32:18.382] | : . | : Call: [17:32:18.383] | : . | : base::sapply [17:32:18.384] | : . | : parse_call() ... [17:32:18.384] | : . | : . Function: base::sapply(...) [17:32:18.385] | : . | : parse_call() ... done [17:32:18.386] | : . | descend_wrappers() ... done [17:32:18.386] | : . | parse_call() ... [17:32:18.387] | : . | : Function: base::sapply(...) [17:32:18.388] | : . | parse_call() ... done [17:32:18.388] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.389] | : . | base::sapply [17:32:18.390] | : . Finding call to be transpiled ... done [17:32:18.390] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.391] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.391] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.392] | : . | Transpiler function: [17:32:18.393] | : . | function (expr, options = NULL) [17:32:18.393] | : . | { [17:32:18.393] | : . | call <- make_call("future_sapply") [17:32:18.393] | : . | fcn <- eval(call) [17:32:18.393] | : . | expr[[1]] <- call [17:32:18.393] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.393] | : . | { [17:32:18.393] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.393] | : . | if (is.null(defaults_base)) { [17:32:18.393] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.393] | : . | } [17:32:18.393] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.393] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.393] | : . | defaults <- defaults[keep] [17:32:18.393] | : . | specified <- attr(options, "specified") [17:32:18.393] | : . | if (length(specified) > 0) { [17:32:18.393] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.393] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.393] | : . | names(options)) [17:32:18.393] | : . | } [17:32:18.393] | : . | specified <- sprintf("future.%s", specified) [17:32:18.393] | : . | names <- setdiff(names(defaults), specified) [17:32:18.393] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.393] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.393] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.393] | : . | options <- options[keep] [17:32:18.393] | : . | options [17:32:18.393] | : . | })(options, fcn)) [17:32:18.393] | : . | expr <- as.call(parts) [17:32:18.393] | : . | expr [17:32:18.393] | : . | } [17:32:18.393] | : . | [17:32:18.394] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.395] | : get_transpiler() ... done [17:32:18.395] | : Transpile call expression ... [17:32:18.396] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:18.396] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:18.396] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:18.398] | : Transpile call expression ... done [17:32:18.399] | : Evaluate transpiled call expression [17:32:18.449] | transpile() ... done [17:32:18.450] futurize() ... done Futures created: 2 [17:32:18.451] futurize() ... [17:32:18.452] | transpile() ... [17:32:18.453] | : get_transpiler() ... [17:32:18.454] | : . Finding call to be transpiled ... [17:32:18.455] | : . | descend_wrappers() ... [17:32:18.456] | : . | : Call: [17:32:18.457] | : . | : base::sapply [17:32:18.458] | : . | : parse_call() ... [17:32:18.459] | : . | : . Function: base::sapply(...) [17:32:18.460] | : . | : parse_call() ... done [17:32:18.460] | : . | descend_wrappers() ... done [17:32:18.461] | : . | parse_call() ... [17:32:18.462] | : . | : Function: base::sapply(...) [17:32:18.463] | : . | parse_call() ... done [17:32:18.464] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.465] | : . | base::sapply [17:32:18.466] | : . Finding call to be transpiled ... done [17:32:18.467] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.468] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.469] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.470] | : . | Transpiler function: [17:32:18.471] | : . | function (expr, options = NULL) [17:32:18.471] | : . | { [17:32:18.471] | : . | call <- make_call("future_sapply") [17:32:18.471] | : . | fcn <- eval(call) [17:32:18.471] | : . | expr[[1]] <- call [17:32:18.471] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.471] | : . | { [17:32:18.471] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.471] | : . | if (is.null(defaults_base)) { [17:32:18.471] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.471] | : . | } [17:32:18.471] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.471] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.471] | : . | defaults <- defaults[keep] [17:32:18.471] | : . | specified <- attr(options, "specified") [17:32:18.471] | : . | if (length(specified) > 0) { [17:32:18.471] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.471] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.471] | : . | names(options)) [17:32:18.471] | : . | } [17:32:18.471] | : . | specified <- sprintf("future.%s", specified) [17:32:18.471] | : . | names <- setdiff(names(defaults), specified) [17:32:18.471] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.471] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.471] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.471] | : . | options <- options[keep] [17:32:18.471] | : . | options [17:32:18.471] | : . | })(options, fcn)) [17:32:18.471] | : . | expr <- as.call(parts) [17:32:18.471] | : . | expr [17:32:18.471] | : . | } [17:32:18.471] | : . | [17:32:18.472] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.473] | : get_transpiler() ... done [17:32:18.474] | : Transpile call expression ... [17:32:18.475] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:18.475] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:18.475] | : . future.conditions = character(0), future.scheduling = 1, [17:32:18.475] | : . future.label = "future_sapply-%d") [17:32:18.477] | : Transpile call expression ... done [17:32:18.477] | : Evaluate transpiled call expression [17:32:18.534] | transpile() ... done [17:32:18.535] futurize() ... done character(0) [17:32:18.536] futurize() ... [17:32:18.537] | transpile() ... [17:32:18.538] | : get_transpiler() ... [17:32:18.538] | : . Finding call to be transpiled ... [17:32:18.539] | : . | descend_wrappers() ... [17:32:18.540] | : . | : Call: [17:32:18.540] | : . | : base::sapply [17:32:18.541] | : . | : parse_call() ... [17:32:18.542] | : . | : . Function: base::sapply(...) [17:32:18.542] | : . | : parse_call() ... done [17:32:18.543] | : . | descend_wrappers() ... done [17:32:18.544] | : . | parse_call() ... [17:32:18.545] | : . | : Function: base::sapply(...) [17:32:18.546] | : . | parse_call() ... done [17:32:18.546] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.547] | : . | base::sapply [17:32:18.548] | : . Finding call to be transpiled ... done [17:32:18.548] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.549] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.550] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.550] | : . | Transpiler function: [17:32:18.551] | : . | function (expr, options = NULL) [17:32:18.551] | : . | { [17:32:18.551] | : . | call <- make_call("future_sapply") [17:32:18.551] | : . | fcn <- eval(call) [17:32:18.551] | : . | expr[[1]] <- call [17:32:18.551] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.551] | : . | { [17:32:18.551] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.551] | : . | if (is.null(defaults_base)) { [17:32:18.551] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.551] | : . | } [17:32:18.551] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.551] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.551] | : . | defaults <- defaults[keep] [17:32:18.551] | : . | specified <- attr(options, "specified") [17:32:18.551] | : . | if (length(specified) > 0) { [17:32:18.551] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.551] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.551] | : . | names(options)) [17:32:18.551] | : . | } [17:32:18.551] | : . | specified <- sprintf("future.%s", specified) [17:32:18.551] | : . | names <- setdiff(names(defaults), specified) [17:32:18.551] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.551] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.551] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.551] | : . | options <- options[keep] [17:32:18.551] | : . | options [17:32:18.551] | : . | })(options, fcn)) [17:32:18.551] | : . | expr <- as.call(parts) [17:32:18.551] | : . | expr [17:32:18.551] | : . | } [17:32:18.551] | : . | [17:32:18.552] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.553] | : get_transpiler() ... done [17:32:18.553] | : Transpile call expression ... [17:32:18.554] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:18.554] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:18.554] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:18.554] | : . future.label = "future_sapply-%d") [17:32:18.556] | : Transpile call expression ... done [17:32:18.557] | : Evaluate transpiled call expression [17:32:18.684] | transpile() ... done [17:32:18.685] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, simplify = FALSE), seed = TRUE, flavor = "built-in") [17:32:18.686] futurize() ... [17:32:18.686] | transpile() ... [17:32:18.687] | : get_transpiler() ... [17:32:18.688] | : . Finding call to be transpiled ... [17:32:18.688] | : . | descend_wrappers() ... [17:32:18.689] | : . | : Call: [17:32:18.689] | : . | : base::sapply [17:32:18.690] | : . | : parse_call() ... [17:32:18.691] | : . | : . Function: base::sapply(...) [17:32:18.691] | : . | : parse_call() ... done [17:32:18.692] | : . | descend_wrappers() ... done [17:32:18.693] | : . | parse_call() ... [17:32:18.693] | : . | : Function: base::sapply(...) [17:32:18.694] | : . | parse_call() ... done [17:32:18.694] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.695] | : . | base::sapply [17:32:18.696] | : . Finding call to be transpiled ... done [17:32:18.697] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.697] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.698] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.699] | : . | Transpiler function: [17:32:18.699] | : . | function (expr, options = NULL) [17:32:18.699] | : . | { [17:32:18.699] | : . | call <- make_call("future_sapply") [17:32:18.699] | : . | fcn <- eval(call) [17:32:18.699] | : . | expr[[1]] <- call [17:32:18.699] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.699] | : . | { [17:32:18.699] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.699] | : . | if (is.null(defaults_base)) { [17:32:18.699] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.699] | : . | } [17:32:18.699] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.699] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.699] | : . | defaults <- defaults[keep] [17:32:18.699] | : . | specified <- attr(options, "specified") [17:32:18.699] | : . | if (length(specified) > 0) { [17:32:18.699] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.699] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.699] | : . | names(options)) [17:32:18.699] | : . | } [17:32:18.699] | : . | specified <- sprintf("future.%s", specified) [17:32:18.699] | : . | names <- setdiff(names(defaults), specified) [17:32:18.699] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.699] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.699] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.699] | : . | options <- options[keep] [17:32:18.699] | : . | options [17:32:18.699] | : . | })(options, fcn)) [17:32:18.699] | : . | expr <- as.call(parts) [17:32:18.699] | : . | expr [17:32:18.699] | : . | } [17:32:18.699] | : . | [17:32:18.701] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.701] | : get_transpiler() ... done [17:32:18.702] | : Transpile call expression ... [17:32:18.703] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [17:32:18.703] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:18.703] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:18.704] | : Transpile call expression ... done [17:32:18.705] | : Evaluate transpiled call expression [17:32:18.766] | transpile() ... done [17:32:18.767] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [17:32:18.769] futurize() ... [17:32:18.770] | transpile() ... [17:32:18.771] | : get_transpiler() ... [17:32:18.772] | : . Finding call to be transpiled ... [17:32:18.772] | : . | descend_wrappers() ... [17:32:18.773] | : . | : Call: [17:32:18.774] | : . | : base::sapply [17:32:18.775] | : . | : parse_call() ... [17:32:18.776] | : . | : . Function: base::sapply(...) [17:32:18.777] | : . | : parse_call() ... done [17:32:18.778] | : . | descend_wrappers() ... done [17:32:18.779] | : . | parse_call() ... [17:32:18.779] | : . | : Function: base::sapply(...) [17:32:18.780] | : . | parse_call() ... done [17:32:18.781] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.782] | : . | base::sapply [17:32:18.782] | : . Finding call to be transpiled ... done [17:32:18.783] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.784] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.785] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.786] | : . | Transpiler function: [17:32:18.787] | : . | function (expr, options = NULL) [17:32:18.787] | : . | { [17:32:18.787] | : . | call <- make_call("future_sapply") [17:32:18.787] | : . | fcn <- eval(call) [17:32:18.787] | : . | expr[[1]] <- call [17:32:18.787] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.787] | : . | { [17:32:18.787] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.787] | : . | if (is.null(defaults_base)) { [17:32:18.787] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.787] | : . | } [17:32:18.787] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.787] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.787] | : . | defaults <- defaults[keep] [17:32:18.787] | : . | specified <- attr(options, "specified") [17:32:18.787] | : . | if (length(specified) > 0) { [17:32:18.787] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.787] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.787] | : . | names(options)) [17:32:18.787] | : . | } [17:32:18.787] | : . | specified <- sprintf("future.%s", specified) [17:32:18.787] | : . | names <- setdiff(names(defaults), specified) [17:32:18.787] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.787] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.787] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.787] | : . | options <- options[keep] [17:32:18.787] | : . | options [17:32:18.787] | : . | })(options, fcn)) [17:32:18.787] | : . | expr <- as.call(parts) [17:32:18.787] | : . | expr [17:32:18.787] | : . | } [17:32:18.787] | : . | [17:32:18.789] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.790] | : get_transpiler() ... done [17:32:18.790] | : Transpile call expression ... [17:32:18.792] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:18.792] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:18.792] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:18.793] | : Transpile call expression ... done [17:32:18.794] | : Evaluate transpiled call expression [17:32:18.854] | transpile() ... done [17:32:18.855] futurize() ... done Futures created: 2 [17:32:18.866] futurize() ... [17:32:18.867] | transpile() ... [17:32:18.868] | : get_transpiler() ... [17:32:18.869] | : . Finding call to be transpiled ... [17:32:18.870] | : . | descend_wrappers() ... [17:32:18.871] | : . | : Call: [17:32:18.872] | : . | : base::sapply [17:32:18.873] | : . | : parse_call() ... [17:32:18.874] | : . | : . Function: base::sapply(...) [17:32:18.875] | : . | : parse_call() ... done [17:32:18.876] | : . | descend_wrappers() ... done [17:32:18.877] | : . | parse_call() ... [17:32:18.877] | : . | : Function: base::sapply(...) [17:32:18.878] | : . | parse_call() ... done [17:32:18.879] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.880] | : . | base::sapply [17:32:18.881] | : . Finding call to be transpiled ... done [17:32:18.883] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.884] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.885] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.886] | : . | Transpiler function: [17:32:18.887] | : . | function (expr, options = NULL) [17:32:18.887] | : . | { [17:32:18.887] | : . | call <- make_call("future_sapply") [17:32:18.887] | : . | fcn <- eval(call) [17:32:18.887] | : . | expr[[1]] <- call [17:32:18.887] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.887] | : . | { [17:32:18.887] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.887] | : . | if (is.null(defaults_base)) { [17:32:18.887] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.887] | : . | } [17:32:18.887] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.887] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.887] | : . | defaults <- defaults[keep] [17:32:18.887] | : . | specified <- attr(options, "specified") [17:32:18.887] | : . | if (length(specified) > 0) { [17:32:18.887] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.887] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.887] | : . | names(options)) [17:32:18.887] | : . | } [17:32:18.887] | : . | specified <- sprintf("future.%s", specified) [17:32:18.887] | : . | names <- setdiff(names(defaults), specified) [17:32:18.887] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.887] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.887] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.887] | : . | options <- options[keep] [17:32:18.887] | : . | options [17:32:18.887] | : . | })(options, fcn)) [17:32:18.887] | : . | expr <- as.call(parts) [17:32:18.887] | : . | expr [17:32:18.887] | : . | } [17:32:18.887] | : . | [17:32:18.889] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.890] | : get_transpiler() ... done [17:32:18.891] | : Transpile call expression ... [17:32:18.893] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:18.893] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:18.893] | : . future.conditions = character(0), future.scheduling = 1, [17:32:18.893] | : . future.label = "future_sapply-%d") [17:32:18.895] | : Transpile call expression ... done [17:32:18.896] | : Evaluate transpiled call expression [17:32:18.961] | transpile() ... done [17:32:18.962] futurize() ... done character(0) [17:32:18.963] futurize() ... [17:32:18.964] | transpile() ... [17:32:18.965] | : get_transpiler() ... [17:32:18.966] | : . Finding call to be transpiled ... [17:32:18.967] | : . | descend_wrappers() ... [17:32:18.968] | : . | : Call: [17:32:18.969] | : . | : base::sapply [17:32:18.970] | : . | : parse_call() ... [17:32:18.971] | : . | : . Function: base::sapply(...) [17:32:18.972] | : . | : parse_call() ... done [17:32:18.972] | : . | descend_wrappers() ... done [17:32:18.973] | : . | parse_call() ... [17:32:18.974] | : . | : Function: base::sapply(...) [17:32:18.975] | : . | parse_call() ... done [17:32:18.976] | : . | Position of call to be transpiled in expression: c(1) [17:32:18.977] | : . | base::sapply [17:32:18.978] | : . Finding call to be transpiled ... done [17:32:18.979] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:18.980] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:18.981] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:18.982] | : . | Transpiler function: [17:32:18.982] | : . | function (expr, options = NULL) [17:32:18.982] | : . | { [17:32:18.982] | : . | call <- make_call("future_sapply") [17:32:18.982] | : . | fcn <- eval(call) [17:32:18.982] | : . | expr[[1]] <- call [17:32:18.982] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:18.982] | : . | { [17:32:18.982] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:18.982] | : . | if (is.null(defaults_base)) { [17:32:18.982] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:18.982] | : . | } [17:32:18.982] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:18.982] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:18.982] | : . | defaults <- defaults[keep] [17:32:18.982] | : . | specified <- attr(options, "specified") [17:32:18.982] | : . | if (length(specified) > 0) { [17:32:18.982] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:18.982] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:18.982] | : . | names(options)) [17:32:18.982] | : . | } [17:32:18.982] | : . | specified <- sprintf("future.%s", specified) [17:32:18.982] | : . | names <- setdiff(names(defaults), specified) [17:32:18.982] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:18.982] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:18.982] | : . | keep <- intersect(names(options), names(defaults)) [17:32:18.982] | : . | options <- options[keep] [17:32:18.982] | : . | options [17:32:18.982] | : . | })(options, fcn)) [17:32:18.982] | : . | expr <- as.call(parts) [17:32:18.982] | : . | expr [17:32:18.982] | : . | } [17:32:18.982] | : . | [17:32:18.984] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:18.985] | : get_transpiler() ... done [17:32:18.986] | : Transpile call expression ... [17:32:18.987] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:18.987] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:18.987] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:18.987] | : . future.label = "future_sapply-%d") [17:32:18.990] | : Transpile call expression ... done [17:32:18.991] | : Evaluate transpiled call expression [17:32:19.140] | transpile() ... done [17:32:19.141] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [17:32:19.142] futurize() ... [17:32:19.143] | transpile() ... [17:32:19.144] | : get_transpiler() ... [17:32:19.145] | : . Finding call to be transpiled ... [17:32:19.146] | : . | descend_wrappers() ... [17:32:19.146] | : . | : Call: [17:32:19.147] | : . | : base::sapply [17:32:19.148] | : . | : parse_call() ... [17:32:19.149] | : . | : . Function: base::sapply(...) [17:32:19.150] | : . | : parse_call() ... done [17:32:19.151] | : . | descend_wrappers() ... done [17:32:19.152] | : . | parse_call() ... [17:32:19.153] | : . | : Function: base::sapply(...) [17:32:19.153] | : . | parse_call() ... done [17:32:19.154] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.155] | : . | base::sapply [17:32:19.156] | : . Finding call to be transpiled ... done [17:32:19.157] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [17:32:19.158] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:19.159] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [17:32:19.160] | : . | Transpiler function: [17:32:19.160] | : . | function (expr, options = NULL) [17:32:19.160] | : . | { [17:32:19.160] | : . | call <- make_call("future_sapply") [17:32:19.160] | : . | fcn <- eval(call) [17:32:19.160] | : . | expr[[1]] <- call [17:32:19.160] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:19.160] | : . | { [17:32:19.160] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:19.160] | : . | if (is.null(defaults_base)) { [17:32:19.160] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:19.160] | : . | } [17:32:19.160] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:19.160] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:19.160] | : . | defaults <- defaults[keep] [17:32:19.160] | : . | specified <- attr(options, "specified") [17:32:19.160] | : . | if (length(specified) > 0) { [17:32:19.160] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:19.160] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:19.160] | : . | names(options)) [17:32:19.160] | : . | } [17:32:19.160] | : . | specified <- sprintf("future.%s", specified) [17:32:19.160] | : . | names <- setdiff(names(defaults), specified) [17:32:19.160] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:19.160] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:19.160] | : . | keep <- intersect(names(options), names(defaults)) [17:32:19.160] | : . | options <- options[keep] [17:32:19.160] | : . | options [17:32:19.160] | : . | })(options, fcn)) [17:32:19.160] | : . | expr <- as.call(parts) [17:32:19.160] | : . | expr [17:32:19.160] | : . | } [17:32:19.160] | : . | [17:32:19.162] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [17:32:19.163] | : get_transpiler() ... done [17:32:19.164] | : Transpile call expression ... [17:32:19.165] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [17:32:19.165] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:19.165] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [17:32:19.167] | : Transpile call expression ... done [17:32:19.168] | : Evaluate transpiled call expression [17:32:19.231] | transpile() ... done [17:32:19.232] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN) --------------------------------- [17:32:19.234] futurize() ... [17:32:19.235] | transpile() ... [17:32:19.235] | : get_transpiler() ... [17:32:19.236] | : . Finding call to be transpiled ... [17:32:19.237] | : . | descend_wrappers() ... [17:32:19.238] | : . | : Call: [17:32:19.238] | : . | : base::vapply [17:32:19.239] | : . | : parse_call() ... [17:32:19.240] | : . | : . Function: base::vapply(...) [17:32:19.241] | : . | : parse_call() ... done [17:32:19.242] | : . | descend_wrappers() ... done [17:32:19.243] | : . | parse_call() ... [17:32:19.243] | : . | : Function: base::vapply(...) [17:32:19.244] | : . | parse_call() ... done [17:32:19.245] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.246] | : . | base::vapply [17:32:19.246] | : . Finding call to be transpiled ... done [17:32:19.247] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:19.248] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:19.249] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:19.249] | : . | Transpiler function: [17:32:19.250] | : . | function (expr, options = NULL) [17:32:19.250] | : . | { [17:32:19.250] | : . | call <- make_call("future_vapply") [17:32:19.250] | : . | fcn <- eval(call) [17:32:19.250] | : . | expr[[1]] <- call [17:32:19.250] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:19.250] | : . | { [17:32:19.250] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:19.250] | : . | if (is.null(defaults_base)) { [17:32:19.250] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:19.250] | : . | } [17:32:19.250] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:19.250] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:19.250] | : . | defaults <- defaults[keep] [17:32:19.250] | : . | specified <- attr(options, "specified") [17:32:19.250] | : . | if (length(specified) > 0) { [17:32:19.250] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:19.250] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:19.250] | : . | names(options)) [17:32:19.250] | : . | } [17:32:19.250] | : . | specified <- sprintf("future.%s", specified) [17:32:19.250] | : . | names <- setdiff(names(defaults), specified) [17:32:19.250] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:19.250] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:19.250] | : . | keep <- intersect(names(options), names(defaults)) [17:32:19.250] | : . | options <- options[keep] [17:32:19.250] | : . | options [17:32:19.250] | : . | })(options, fcn)) [17:32:19.250] | : . | expr <- as.call(parts) [17:32:19.250] | : . | expr [17:32:19.250] | : . | } [17:32:19.250] | : . | [17:32:19.252] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:19.252] | : get_transpiler() ... done [17:32:19.253] | : Transpile call expression ... [17:32:19.255] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:19.255] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:19.255] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [17:32:19.256] | : Transpile call expression ... done [17:32:19.257] | : Evaluate transpiled call expression [17:32:19.370] | transpile() ... done [17:32:19.372] futurize() ... done Futures created: 2 [17:32:19.373] futurize() ... [17:32:19.374] | transpile() ... [17:32:19.375] | : get_transpiler() ... [17:32:19.376] | : . Finding call to be transpiled ... [17:32:19.378] | : . | descend_wrappers() ... [17:32:19.379] | : . | : Call: [17:32:19.380] | : . | : base::vapply [17:32:19.381] | : . | : parse_call() ... [17:32:19.382] | : . | : . Function: base::vapply(...) [17:32:19.383] | : . | : parse_call() ... done [17:32:19.384] | : . | descend_wrappers() ... done [17:32:19.386] | : . | parse_call() ... [17:32:19.387] | : . | : Function: base::vapply(...) [17:32:19.388] | : . | parse_call() ... done [17:32:19.389] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.390] | : . | base::vapply [17:32:19.391] | : . Finding call to be transpiled ... done [17:32:19.392] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:19.393] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:19.394] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:19.395] | : . | Transpiler function: [17:32:19.396] | : . | function (expr, options = NULL) [17:32:19.396] | : . | { [17:32:19.396] | : . | call <- make_call("future_vapply") [17:32:19.396] | : . | fcn <- eval(call) [17:32:19.396] | : . | expr[[1]] <- call [17:32:19.396] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:19.396] | : . | { [17:32:19.396] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:19.396] | : . | if (is.null(defaults_base)) { [17:32:19.396] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:19.396] | : . | } [17:32:19.396] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:19.396] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:19.396] | : . | defaults <- defaults[keep] [17:32:19.396] | : . | specified <- attr(options, "specified") [17:32:19.396] | : . | if (length(specified) > 0) { [17:32:19.396] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:19.396] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:19.396] | : . | names(options)) [17:32:19.396] | : . | } [17:32:19.396] | : . | specified <- sprintf("future.%s", specified) [17:32:19.396] | : . | names <- setdiff(names(defaults), specified) [17:32:19.396] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:19.396] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:19.396] | : . | keep <- intersect(names(options), names(defaults)) [17:32:19.396] | : . | options <- options[keep] [17:32:19.396] | : . | options [17:32:19.396] | : . | })(options, fcn)) [17:32:19.396] | : . | expr <- as.call(parts) [17:32:19.396] | : . | expr [17:32:19.396] | : . | } [17:32:19.396] | : . | [17:32:19.398] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:19.399] | : get_transpiler() ... done [17:32:19.400] | : Transpile call expression ... [17:32:19.402] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:19.402] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:19.402] | : . future.conditions = character(0), future.scheduling = 1, [17:32:19.402] | : . future.label = "future_vapply-%d") [17:32:19.404] | : Transpile call expression ... done [17:32:19.405] | : Evaluate transpiled call expression [17:32:19.527] | transpile() ... done [17:32:19.528] futurize() ... done character(0) [17:32:19.530] futurize() ... [17:32:19.530] | transpile() ... [17:32:19.531] | : get_transpiler() ... [17:32:19.532] | : . Finding call to be transpiled ... [17:32:19.533] | : . | descend_wrappers() ... [17:32:19.534] | : . | : Call: [17:32:19.535] | : . | : base::vapply [17:32:19.536] | : . | : parse_call() ... [17:32:19.537] | : . | : . Function: base::vapply(...) [17:32:19.538] | : . | : parse_call() ... done [17:32:19.539] | : . | descend_wrappers() ... done [17:32:19.540] | : . | parse_call() ... [17:32:19.541] | : . | : Function: base::vapply(...) [17:32:19.542] | : . | parse_call() ... done [17:32:19.542] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.543] | : . | base::vapply [17:32:19.544] | : . Finding call to be transpiled ... done [17:32:19.545] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:19.546] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:19.547] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:19.548] | : . | Transpiler function: [17:32:19.549] | : . | function (expr, options = NULL) [17:32:19.549] | : . | { [17:32:19.549] | : . | call <- make_call("future_vapply") [17:32:19.549] | : . | fcn <- eval(call) [17:32:19.549] | : . | expr[[1]] <- call [17:32:19.549] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:19.549] | : . | { [17:32:19.549] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:19.549] | : . | if (is.null(defaults_base)) { [17:32:19.549] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:19.549] | : . | } [17:32:19.549] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:19.549] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:19.549] | : . | defaults <- defaults[keep] [17:32:19.549] | : . | specified <- attr(options, "specified") [17:32:19.549] | : . | if (length(specified) > 0) { [17:32:19.549] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:19.549] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:19.549] | : . | names(options)) [17:32:19.549] | : . | } [17:32:19.549] | : . | specified <- sprintf("future.%s", specified) [17:32:19.549] | : . | names <- setdiff(names(defaults), specified) [17:32:19.549] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:19.549] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:19.549] | : . | keep <- intersect(names(options), names(defaults)) [17:32:19.549] | : . | options <- options[keep] [17:32:19.549] | : . | options [17:32:19.549] | : . | })(options, fcn)) [17:32:19.549] | : . | expr <- as.call(parts) [17:32:19.549] | : . | expr [17:32:19.549] | : . | } [17:32:19.549] | : . | [17:32:19.551] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:19.552] | : get_transpiler() ... done [17:32:19.553] | : Transpile call expression ... [17:32:19.554] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:19.554] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:19.554] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:19.554] | : . future.label = "future_vapply-%d") [17:32:19.556] | : Transpile call expression ... done [17:32:19.557] | : Evaluate transpiled call expression [17:32:19.732] | transpile() ... done [17:32:19.733] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN), seed = TRUE, flavor = "built-in") [17:32:19.735] futurize() ... [17:32:19.736] | transpile() ... [17:32:19.737] | : get_transpiler() ... [17:32:19.738] | : . Finding call to be transpiled ... [17:32:19.739] | : . | descend_wrappers() ... [17:32:19.740] | : . | : Call: [17:32:19.741] | : . | : base::vapply [17:32:19.742] | : . | : parse_call() ... [17:32:19.743] | : . | : . Function: base::vapply(...) [17:32:19.744] | : . | : parse_call() ... done [17:32:19.745] | : . | descend_wrappers() ... done [17:32:19.746] | : . | parse_call() ... [17:32:19.747] | : . | : Function: base::vapply(...) [17:32:19.748] | : . | parse_call() ... done [17:32:19.748] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.749] | : . | base::vapply [17:32:19.751] | : . Finding call to be transpiled ... done [17:32:19.751] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:19.752] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:19.753] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:19.754] | : . | Transpiler function: [17:32:19.755] | : . | function (expr, options = NULL) [17:32:19.755] | : . | { [17:32:19.755] | : . | call <- make_call("future_vapply") [17:32:19.755] | : . | fcn <- eval(call) [17:32:19.755] | : . | expr[[1]] <- call [17:32:19.755] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:19.755] | : . | { [17:32:19.755] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:19.755] | : . | if (is.null(defaults_base)) { [17:32:19.755] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:19.755] | : . | } [17:32:19.755] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:19.755] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:19.755] | : . | defaults <- defaults[keep] [17:32:19.755] | : . | specified <- attr(options, "specified") [17:32:19.755] | : . | if (length(specified) > 0) { [17:32:19.755] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:19.755] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:19.755] | : . | names(options)) [17:32:19.755] | : . | } [17:32:19.755] | : . | specified <- sprintf("future.%s", specified) [17:32:19.755] | : . | names <- setdiff(names(defaults), specified) [17:32:19.755] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:19.755] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:19.755] | : . | keep <- intersect(names(options), names(defaults)) [17:32:19.755] | : . | options <- options[keep] [17:32:19.755] | : . | options [17:32:19.755] | : . | })(options, fcn)) [17:32:19.755] | : . | expr <- as.call(parts) [17:32:19.755] | : . | expr [17:32:19.755] | : . | } [17:32:19.755] | : . | [17:32:19.757] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:19.758] | : get_transpiler() ... done [17:32:19.759] | : Transpile call expression ... [17:32:19.760] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:19.760] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:19.760] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [17:32:19.762] | : Transpile call expression ... done [17:32:19.763] | : Evaluate transpiled call expression [17:32:19.873] | transpile() ... done [17:32:19.874] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [17:32:19.876] futurize() ... [17:32:19.877] | transpile() ... [17:32:19.878] | : get_transpiler() ... [17:32:19.878] | : . Finding call to be transpiled ... [17:32:19.879] | : . | descend_wrappers() ... [17:32:19.879] | : . | : Call: [17:32:19.880] | : . | : base::vapply [17:32:19.881] | : . | : parse_call() ... [17:32:19.882] | : . | : . Function: base::vapply(...) [17:32:19.882] | : . | : parse_call() ... done [17:32:19.883] | : . | descend_wrappers() ... done [17:32:19.883] | : . | parse_call() ... [17:32:19.884] | : . | : Function: base::vapply(...) [17:32:19.885] | : . | parse_call() ... done [17:32:19.886] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.886] | : . | base::vapply [17:32:19.887] | : . Finding call to be transpiled ... done [17:32:19.888] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:19.889] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:19.889] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:19.890] | : . | Transpiler function: [17:32:19.890] | : . | function (expr, options = NULL) [17:32:19.890] | : . | { [17:32:19.890] | : . | call <- make_call("future_vapply") [17:32:19.890] | : . | fcn <- eval(call) [17:32:19.890] | : . | expr[[1]] <- call [17:32:19.890] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:19.890] | : . | { [17:32:19.890] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:19.890] | : . | if (is.null(defaults_base)) { [17:32:19.890] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:19.890] | : . | } [17:32:19.890] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:19.890] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:19.890] | : . | defaults <- defaults[keep] [17:32:19.890] | : . | specified <- attr(options, "specified") [17:32:19.890] | : . | if (length(specified) > 0) { [17:32:19.890] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:19.890] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:19.890] | : . | names(options)) [17:32:19.890] | : . | } [17:32:19.890] | : . | specified <- sprintf("future.%s", specified) [17:32:19.890] | : . | names <- setdiff(names(defaults), specified) [17:32:19.890] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:19.890] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:19.890] | : . | keep <- intersect(names(options), names(defaults)) [17:32:19.890] | : . | options <- options[keep] [17:32:19.890] | : . | options [17:32:19.890] | : . | })(options, fcn)) [17:32:19.890] | : . | expr <- as.call(parts) [17:32:19.890] | : . | expr [17:32:19.890] | : . | } [17:32:19.890] | : . | [17:32:19.892] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:19.892] | : get_transpiler() ... done [17:32:19.893] | : Transpile call expression ... [17:32:19.894] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:19.894] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [17:32:19.894] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:19.894] | : . future.label = "future_vapply-%d") [17:32:19.895] | : Transpile call expression ... done [17:32:19.896] | : Evaluate transpiled call expression [17:32:19.988] | transpile() ... done [17:32:19.989] futurize() ... done Futures created: 2 [17:32:19.989] futurize() ... [17:32:19.990] | transpile() ... [17:32:19.991] | : get_transpiler() ... [17:32:19.991] | : . Finding call to be transpiled ... [17:32:19.992] | : . | descend_wrappers() ... [17:32:19.992] | : . | : Call: [17:32:19.993] | : . | : base::vapply [17:32:19.993] | : . | : parse_call() ... [17:32:19.994] | : . | : . Function: base::vapply(...) [17:32:19.995] | : . | : parse_call() ... done [17:32:19.995] | : . | descend_wrappers() ... done [17:32:19.996] | : . | parse_call() ... [17:32:19.997] | : . | : Function: base::vapply(...) [17:32:19.998] | : . | parse_call() ... done [17:32:19.999] | : . | Position of call to be transpiled in expression: c(1) [17:32:19.999] | : . | base::vapply [17:32:20.000] | : . Finding call to be transpiled ... done [17:32:20.001] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:20.001] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.002] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:20.003] | : . | Transpiler function: [17:32:20.004] | : . | function (expr, options = NULL) [17:32:20.004] | : . | { [17:32:20.004] | : . | call <- make_call("future_vapply") [17:32:20.004] | : . | fcn <- eval(call) [17:32:20.004] | : . | expr[[1]] <- call [17:32:20.004] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.004] | : . | { [17:32:20.004] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.004] | : . | if (is.null(defaults_base)) { [17:32:20.004] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.004] | : . | } [17:32:20.004] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.004] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.004] | : . | defaults <- defaults[keep] [17:32:20.004] | : . | specified <- attr(options, "specified") [17:32:20.004] | : . | if (length(specified) > 0) { [17:32:20.004] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.004] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.004] | : . | names(options)) [17:32:20.004] | : . | } [17:32:20.004] | : . | specified <- sprintf("future.%s", specified) [17:32:20.004] | : . | names <- setdiff(names(defaults), specified) [17:32:20.004] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.004] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.004] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.004] | : . | options <- options[keep] [17:32:20.004] | : . | options [17:32:20.004] | : . | })(options, fcn)) [17:32:20.004] | : . | expr <- as.call(parts) [17:32:20.004] | : . | expr [17:32:20.004] | : . | } [17:32:20.004] | : . | [17:32:20.005] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:20.005] | : get_transpiler() ... done [17:32:20.006] | : Transpile call expression ... [17:32:20.007] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:20.007] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [17:32:20.007] | : . future.stdout = FALSE, future.conditions = character(0), [17:32:20.007] | : . future.scheduling = 1, future.label = "future_vapply-%d") [17:32:20.008] | : Transpile call expression ... done [17:32:20.008] | : Evaluate transpiled call expression [17:32:20.112] | transpile() ... done [17:32:20.113] futurize() ... done character(0) [17:32:20.114] futurize() ... [17:32:20.114] | transpile() ... [17:32:20.115] | : get_transpiler() ... [17:32:20.116] | : . Finding call to be transpiled ... [17:32:20.117] | : . | descend_wrappers() ... [17:32:20.118] | : . | : Call: [17:32:20.118] | : . | : base::vapply [17:32:20.119] | : . | : parse_call() ... [17:32:20.120] | : . | : . Function: base::vapply(...) [17:32:20.121] | : . | : parse_call() ... done [17:32:20.122] | : . | descend_wrappers() ... done [17:32:20.123] | : . | parse_call() ... [17:32:20.123] | : . | : Function: base::vapply(...) [17:32:20.124] | : . | parse_call() ... done [17:32:20.125] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.126] | : . | base::vapply [17:32:20.127] | : . Finding call to be transpiled ... done [17:32:20.127] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:20.128] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.129] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:20.130] | : . | Transpiler function: [17:32:20.131] | : . | function (expr, options = NULL) [17:32:20.131] | : . | { [17:32:20.131] | : . | call <- make_call("future_vapply") [17:32:20.131] | : . | fcn <- eval(call) [17:32:20.131] | : . | expr[[1]] <- call [17:32:20.131] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.131] | : . | { [17:32:20.131] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.131] | : . | if (is.null(defaults_base)) { [17:32:20.131] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.131] | : . | } [17:32:20.131] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.131] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.131] | : . | defaults <- defaults[keep] [17:32:20.131] | : . | specified <- attr(options, "specified") [17:32:20.131] | : . | if (length(specified) > 0) { [17:32:20.131] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.131] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.131] | : . | names(options)) [17:32:20.131] | : . | } [17:32:20.131] | : . | specified <- sprintf("future.%s", specified) [17:32:20.131] | : . | names <- setdiff(names(defaults), specified) [17:32:20.131] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.131] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.131] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.131] | : . | options <- options[keep] [17:32:20.131] | : . | options [17:32:20.131] | : . | })(options, fcn)) [17:32:20.131] | : . | expr <- as.call(parts) [17:32:20.131] | : . | expr [17:32:20.131] | : . | } [17:32:20.131] | : . | [17:32:20.132] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:20.133] | : get_transpiler() ... done [17:32:20.134] | : Transpile call expression ... [17:32:20.135] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:20.135] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [17:32:20.135] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:20.135] | : . future.chunk.size = 1L, future.label = "future_vapply-%d") [17:32:20.136] | : Transpile call expression ... done [17:32:20.137] | : Evaluate transpiled call expression [17:32:20.313] | transpile() ... done [17:32:20.315] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [17:32:20.316] futurize() ... [17:32:20.317] | transpile() ... [17:32:20.318] | : get_transpiler() ... [17:32:20.319] | : . Finding call to be transpiled ... [17:32:20.320] | : . | descend_wrappers() ... [17:32:20.321] | : . | : Call: [17:32:20.322] | : . | : base::vapply [17:32:20.323] | : . | : parse_call() ... [17:32:20.324] | : . | : . Function: base::vapply(...) [17:32:20.325] | : . | : parse_call() ... done [17:32:20.326] | : . | descend_wrappers() ... done [17:32:20.327] | : . | parse_call() ... [17:32:20.328] | : . | : Function: base::vapply(...) [17:32:20.329] | : . | parse_call() ... done [17:32:20.330] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.331] | : . | base::vapply [17:32:20.332] | : . Finding call to be transpiled ... done [17:32:20.333] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [17:32:20.334] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.335] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [17:32:20.335] | : . | Transpiler function: [17:32:20.336] | : . | function (expr, options = NULL) [17:32:20.336] | : . | { [17:32:20.336] | : . | call <- make_call("future_vapply") [17:32:20.336] | : . | fcn <- eval(call) [17:32:20.336] | : . | expr[[1]] <- call [17:32:20.336] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.336] | : . | { [17:32:20.336] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.336] | : . | if (is.null(defaults_base)) { [17:32:20.336] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.336] | : . | } [17:32:20.336] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.336] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.336] | : . | defaults <- defaults[keep] [17:32:20.336] | : . | specified <- attr(options, "specified") [17:32:20.336] | : . | if (length(specified) > 0) { [17:32:20.336] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.336] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.336] | : . | names(options)) [17:32:20.336] | : . | } [17:32:20.336] | : . | specified <- sprintf("future.%s", specified) [17:32:20.336] | : . | names <- setdiff(names(defaults), specified) [17:32:20.336] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.336] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.336] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.336] | : . | options <- options[keep] [17:32:20.336] | : . | options [17:32:20.336] | : . | })(options, fcn)) [17:32:20.336] | : . | expr <- as.call(parts) [17:32:20.336] | : . | expr [17:32:20.336] | : . | } [17:32:20.336] | : . | [17:32:20.338] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [17:32:20.339] | : get_transpiler() ... done [17:32:20.339] | : Transpile call expression ... [17:32:20.341] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [17:32:20.341] | : . USE.NAMES = FALSE, future.seed = TRUE, future.globals = TRUE, [17:32:20.341] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [17:32:20.341] | : . future.label = "future_vapply-%d") [17:32:20.343] | : Transpile call expression ... done [17:32:20.343] | : Evaluate transpiled call expression [17:32:20.446] | transpile() ... done [17:32:20.448] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN) --------------------------------- [17:32:20.450] futurize() ... [17:32:20.451] | transpile() ... [17:32:20.452] | : get_transpiler() ... [17:32:20.453] | : . Finding call to be transpiled ... [17:32:20.454] | : . | descend_wrappers() ... [17:32:20.455] | : . | : Call: [17:32:20.456] | : . | : base::eapply [17:32:20.458] | : . | : parse_call() ... [17:32:20.459] | : . | : . Function: base::eapply(...) [17:32:20.460] | : . | : parse_call() ... done [17:32:20.461] | : . | descend_wrappers() ... done [17:32:20.462] | : . | parse_call() ... [17:32:20.463] | : . | : Function: base::eapply(...) [17:32:20.464] | : . | parse_call() ... done [17:32:20.465] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.466] | : . | base::eapply [17:32:20.468] | : . Finding call to be transpiled ... done [17:32:20.469] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:20.470] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.471] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:20.472] | : . | Transpiler function: [17:32:20.473] | : . | function (expr, options = NULL) [17:32:20.473] | : . | { [17:32:20.473] | : . | call <- make_call("future_eapply") [17:32:20.473] | : . | fcn <- eval(call) [17:32:20.473] | : . | expr[[1]] <- call [17:32:20.473] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.473] | : . | { [17:32:20.473] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.473] | : . | if (is.null(defaults_base)) { [17:32:20.473] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.473] | : . | } [17:32:20.473] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.473] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.473] | : . | defaults <- defaults[keep] [17:32:20.473] | : . | specified <- attr(options, "specified") [17:32:20.473] | : . | if (length(specified) > 0) { [17:32:20.473] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.473] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.473] | : . | names(options)) [17:32:20.473] | : . | } [17:32:20.473] | : . | specified <- sprintf("future.%s", specified) [17:32:20.473] | : . | names <- setdiff(names(defaults), specified) [17:32:20.473] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.473] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.473] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.473] | : . | options <- options[keep] [17:32:20.473] | : . | options [17:32:20.473] | : . | })(options, fcn)) [17:32:20.473] | : . | expr <- as.call(parts) [17:32:20.473] | : . | expr [17:32:20.473] | : . | } [17:32:20.473] | : . | [17:32:20.475] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:20.476] | : get_transpiler() ... done [17:32:20.477] | : Transpile call expression ... [17:32:20.479] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [17:32:20.479] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:20.479] | : . future.scheduling = 1, future.label = "future_eapply-%d") [17:32:20.481] | : Transpile call expression ... done [17:32:20.483] | : Evaluate transpiled call expression [17:32:20.558] | transpile() ... done [17:32:20.560] futurize() ... done Futures created: 2 [17:32:20.561] futurize() ... [17:32:20.562] | transpile() ... [17:32:20.564] | : get_transpiler() ... [17:32:20.565] | : . Finding call to be transpiled ... [17:32:20.566] | : . | descend_wrappers() ... [17:32:20.567] | : . | : Call: [17:32:20.568] | : . | : base::eapply [17:32:20.569] | : . | : parse_call() ... [17:32:20.571] | : . | : . Function: base::eapply(...) [17:32:20.572] | : . | : parse_call() ... done [17:32:20.573] | : . | descend_wrappers() ... done [17:32:20.574] | : . | parse_call() ... [17:32:20.575] | : . | : Function: base::eapply(...) [17:32:20.581] | : . | parse_call() ... done [17:32:20.582] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.583] | : . | base::eapply [17:32:20.585] | : . Finding call to be transpiled ... done [17:32:20.586] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:20.587] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.588] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:20.590] | : . | Transpiler function: [17:32:20.591] | : . | function (expr, options = NULL) [17:32:20.591] | : . | { [17:32:20.591] | : . | call <- make_call("future_eapply") [17:32:20.591] | : . | fcn <- eval(call) [17:32:20.591] | : . | expr[[1]] <- call [17:32:20.591] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.591] | : . | { [17:32:20.591] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.591] | : . | if (is.null(defaults_base)) { [17:32:20.591] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.591] | : . | } [17:32:20.591] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.591] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.591] | : . | defaults <- defaults[keep] [17:32:20.591] | : . | specified <- attr(options, "specified") [17:32:20.591] | : . | if (length(specified) > 0) { [17:32:20.591] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.591] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.591] | : . | names(options)) [17:32:20.591] | : . | } [17:32:20.591] | : . | specified <- sprintf("future.%s", specified) [17:32:20.591] | : . | names <- setdiff(names(defaults), specified) [17:32:20.591] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.591] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.591] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.591] | : . | options <- options[keep] [17:32:20.591] | : . | options [17:32:20.591] | : . | })(options, fcn)) [17:32:20.591] | : . | expr <- as.call(parts) [17:32:20.591] | : . | expr [17:32:20.591] | : . | } [17:32:20.591] | : . | [17:32:20.593] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:20.594] | : get_transpiler() ... done [17:32:20.595] | : Transpile call expression ... [17:32:20.597] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [17:32:20.597] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [17:32:20.597] | : . future.scheduling = 1, future.label = "future_eapply-%d") [17:32:20.599] | : Transpile call expression ... done [17:32:20.600] | : Evaluate transpiled call expression [17:32:20.680] | transpile() ... done [17:32:20.681] futurize() ... done character(0) [17:32:20.682] futurize() ... [17:32:20.683] | transpile() ... [17:32:20.684] | : get_transpiler() ... [17:32:20.685] | : . Finding call to be transpiled ... [17:32:20.686] | : . | descend_wrappers() ... [17:32:20.686] | : . | : Call: [17:32:20.687] | : . | : base::eapply [17:32:20.688] | : . | : parse_call() ... [17:32:20.689] | : . | : . Function: base::eapply(...) [17:32:20.690] | : . | : parse_call() ... done [17:32:20.691] | : . | descend_wrappers() ... done [17:32:20.692] | : . | parse_call() ... [17:32:20.692] | : . | : Function: base::eapply(...) [17:32:20.693] | : . | parse_call() ... done [17:32:20.694] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.695] | : . | base::eapply [17:32:20.696] | : . Finding call to be transpiled ... done [17:32:20.697] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:20.698] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.699] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:20.700] | : . | Transpiler function: [17:32:20.701] | : . | function (expr, options = NULL) [17:32:20.701] | : . | { [17:32:20.701] | : . | call <- make_call("future_eapply") [17:32:20.701] | : . | fcn <- eval(call) [17:32:20.701] | : . | expr[[1]] <- call [17:32:20.701] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.701] | : . | { [17:32:20.701] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.701] | : . | if (is.null(defaults_base)) { [17:32:20.701] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.701] | : . | } [17:32:20.701] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.701] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.701] | : . | defaults <- defaults[keep] [17:32:20.701] | : . | specified <- attr(options, "specified") [17:32:20.701] | : . | if (length(specified) > 0) { [17:32:20.701] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.701] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.701] | : . | names(options)) [17:32:20.701] | : . | } [17:32:20.701] | : . | specified <- sprintf("future.%s", specified) [17:32:20.701] | : . | names <- setdiff(names(defaults), specified) [17:32:20.701] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.701] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.701] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.701] | : . | options <- options[keep] [17:32:20.701] | : . | options [17:32:20.701] | : . | })(options, fcn)) [17:32:20.701] | : . | expr <- as.call(parts) [17:32:20.701] | : . | expr [17:32:20.701] | : . | } [17:32:20.701] | : . | [17:32:20.703] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:20.704] | : get_transpiler() ... done [17:32:20.705] | : Transpile call expression ... [17:32:20.706] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [17:32:20.706] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:20.706] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_eapply-%d") [17:32:20.708] | : Transpile call expression ... done [17:32:20.709] | : Evaluate transpiled call expression [17:32:20.812] | transpile() ... done [17:32:20.813] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN), seed = TRUE, flavor = "built-in") [17:32:20.814] futurize() ... [17:32:20.815] | transpile() ... [17:32:20.816] | : get_transpiler() ... [17:32:20.817] | : . Finding call to be transpiled ... [17:32:20.818] | : . | descend_wrappers() ... [17:32:20.819] | : . | : Call: [17:32:20.820] | : . | : base::eapply [17:32:20.821] | : . | : parse_call() ... [17:32:20.822] | : . | : . Function: base::eapply(...) [17:32:20.823] | : . | : parse_call() ... done [17:32:20.824] | : . | descend_wrappers() ... done [17:32:20.824] | : . | parse_call() ... [17:32:20.825] | : . | : Function: base::eapply(...) [17:32:20.826] | : . | parse_call() ... done [17:32:20.827] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.828] | : . | base::eapply [17:32:20.829] | : . Finding call to be transpiled ... done [17:32:20.830] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:20.831] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.831] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:20.832] | : . | Transpiler function: [17:32:20.833] | : . | function (expr, options = NULL) [17:32:20.833] | : . | { [17:32:20.833] | : . | call <- make_call("future_eapply") [17:32:20.833] | : . | fcn <- eval(call) [17:32:20.833] | : . | expr[[1]] <- call [17:32:20.833] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.833] | : . | { [17:32:20.833] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.833] | : . | if (is.null(defaults_base)) { [17:32:20.833] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.833] | : . | } [17:32:20.833] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.833] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.833] | : . | defaults <- defaults[keep] [17:32:20.833] | : . | specified <- attr(options, "specified") [17:32:20.833] | : . | if (length(specified) > 0) { [17:32:20.833] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.833] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.833] | : . | names(options)) [17:32:20.833] | : . | } [17:32:20.833] | : . | specified <- sprintf("future.%s", specified) [17:32:20.833] | : . | names <- setdiff(names(defaults), specified) [17:32:20.833] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.833] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.833] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.833] | : . | options <- options[keep] [17:32:20.833] | : . | options [17:32:20.833] | : . | })(options, fcn)) [17:32:20.833] | : . | expr <- as.call(parts) [17:32:20.833] | : . | expr [17:32:20.833] | : . | } [17:32:20.833] | : . | [17:32:20.835] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:20.836] | : get_transpiler() ... done [17:32:20.837] | : Transpile call expression ... [17:32:20.838] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = TRUE, [17:32:20.838] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:20.838] | : . future.scheduling = 1, future.label = "future_eapply-%d") [17:32:20.840] | : Transpile call expression ... done [17:32:20.841] | : Evaluate transpiled call expression [17:32:20.917] | transpile() ... done [17:32:20.918] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, all.names = TRUE) --------------------------------- [17:32:20.920] futurize() ... [17:32:20.921] | transpile() ... [17:32:20.922] | : get_transpiler() ... [17:32:20.923] | : . Finding call to be transpiled ... [17:32:20.924] | : . | descend_wrappers() ... [17:32:20.925] | : . | : Call: [17:32:20.925] | : . | : base::eapply [17:32:20.927] | : . | : parse_call() ... [17:32:20.928] | : . | : . Function: base::eapply(...) [17:32:20.929] | : . | : parse_call() ... done [17:32:20.930] | : . | descend_wrappers() ... done [17:32:20.931] | : . | parse_call() ... [17:32:20.931] | : . | : Function: base::eapply(...) [17:32:20.932] | : . | parse_call() ... done [17:32:20.933] | : . | Position of call to be transpiled in expression: c(1) [17:32:20.933] | : . | base::eapply [17:32:20.934] | : . Finding call to be transpiled ... done [17:32:20.935] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:20.935] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:20.936] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:20.936] | : . | Transpiler function: [17:32:20.937] | : . | function (expr, options = NULL) [17:32:20.937] | : . | { [17:32:20.937] | : . | call <- make_call("future_eapply") [17:32:20.937] | : . | fcn <- eval(call) [17:32:20.937] | : . | expr[[1]] <- call [17:32:20.937] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:20.937] | : . | { [17:32:20.937] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:20.937] | : . | if (is.null(defaults_base)) { [17:32:20.937] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:20.937] | : . | } [17:32:20.937] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:20.937] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:20.937] | : . | defaults <- defaults[keep] [17:32:20.937] | : . | specified <- attr(options, "specified") [17:32:20.937] | : . | if (length(specified) > 0) { [17:32:20.937] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:20.937] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:20.937] | : . | names(options)) [17:32:20.937] | : . | } [17:32:20.937] | : . | specified <- sprintf("future.%s", specified) [17:32:20.937] | : . | names <- setdiff(names(defaults), specified) [17:32:20.937] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:20.937] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:20.937] | : . | keep <- intersect(names(options), names(defaults)) [17:32:20.937] | : . | options <- options[keep] [17:32:20.937] | : . | options [17:32:20.937] | : . | })(options, fcn)) [17:32:20.937] | : . | expr <- as.call(parts) [17:32:20.937] | : . | expr [17:32:20.937] | : . | } [17:32:20.937] | : . | [17:32:20.939] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:20.939] | : get_transpiler() ... done [17:32:20.940] | : Transpile call expression ... [17:32:20.942] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:20.942] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:20.942] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:20.943] | : Transpile call expression ... done [17:32:20.944] | : Evaluate transpiled call expression [17:32:21.010] | transpile() ... done [17:32:21.011] futurize() ... done Futures created: 2 [17:32:21.013] futurize() ... [17:32:21.014] | transpile() ... [17:32:21.015] | : get_transpiler() ... [17:32:21.017] | : . Finding call to be transpiled ... [17:32:21.018] | : . | descend_wrappers() ... [17:32:21.019] | : . | : Call: [17:32:21.020] | : . | : base::eapply [17:32:21.021] | : . | : parse_call() ... [17:32:21.023] | : . | : . Function: base::eapply(...) [17:32:21.024] | : . | : parse_call() ... done [17:32:21.025] | : . | descend_wrappers() ... done [17:32:21.026] | : . | parse_call() ... [17:32:21.027] | : . | : Function: base::eapply(...) [17:32:21.028] | : . | parse_call() ... done [17:32:21.029] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.030] | : . | base::eapply [17:32:21.032] | : . Finding call to be transpiled ... done [17:32:21.033] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.034] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.035] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.037] | : . | Transpiler function: [17:32:21.038] | : . | function (expr, options = NULL) [17:32:21.038] | : . | { [17:32:21.038] | : . | call <- make_call("future_eapply") [17:32:21.038] | : . | fcn <- eval(call) [17:32:21.038] | : . | expr[[1]] <- call [17:32:21.038] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.038] | : . | { [17:32:21.038] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.038] | : . | if (is.null(defaults_base)) { [17:32:21.038] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.038] | : . | } [17:32:21.038] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.038] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.038] | : . | defaults <- defaults[keep] [17:32:21.038] | : . | specified <- attr(options, "specified") [17:32:21.038] | : . | if (length(specified) > 0) { [17:32:21.038] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.038] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.038] | : . | names(options)) [17:32:21.038] | : . | } [17:32:21.038] | : . | specified <- sprintf("future.%s", specified) [17:32:21.038] | : . | names <- setdiff(names(defaults), specified) [17:32:21.038] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.038] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.038] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.038] | : . | options <- options[keep] [17:32:21.038] | : . | options [17:32:21.038] | : . | })(options, fcn)) [17:32:21.038] | : . | expr <- as.call(parts) [17:32:21.038] | : . | expr [17:32:21.038] | : . | } [17:32:21.038] | : . | [17:32:21.040] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.041] | : get_transpiler() ... done [17:32:21.042] | : Transpile call expression ... [17:32:21.044] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:21.044] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:21.044] | : . future.conditions = character(0), future.scheduling = 1, [17:32:21.044] | : . future.label = "future_eapply-%d") [17:32:21.047] | : Transpile call expression ... done [17:32:21.048] | : Evaluate transpiled call expression [17:32:21.116] | transpile() ... done [17:32:21.117] futurize() ... done character(0) [17:32:21.118] futurize() ... [17:32:21.119] | transpile() ... [17:32:21.120] | : get_transpiler() ... [17:32:21.121] | : . Finding call to be transpiled ... [17:32:21.122] | : . | descend_wrappers() ... [17:32:21.123] | : . | : Call: [17:32:21.124] | : . | : base::eapply [17:32:21.125] | : . | : parse_call() ... [17:32:21.126] | : . | : . Function: base::eapply(...) [17:32:21.127] | : . | : parse_call() ... done [17:32:21.128] | : . | descend_wrappers() ... done [17:32:21.128] | : . | parse_call() ... [17:32:21.129] | : . | : Function: base::eapply(...) [17:32:21.130] | : . | parse_call() ... done [17:32:21.131] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.132] | : . | base::eapply [17:32:21.133] | : . Finding call to be transpiled ... done [17:32:21.134] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.135] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.135] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.136] | : . | Transpiler function: [17:32:21.137] | : . | function (expr, options = NULL) [17:32:21.137] | : . | { [17:32:21.137] | : . | call <- make_call("future_eapply") [17:32:21.137] | : . | fcn <- eval(call) [17:32:21.137] | : . | expr[[1]] <- call [17:32:21.137] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.137] | : . | { [17:32:21.137] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.137] | : . | if (is.null(defaults_base)) { [17:32:21.137] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.137] | : . | } [17:32:21.137] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.137] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.137] | : . | defaults <- defaults[keep] [17:32:21.137] | : . | specified <- attr(options, "specified") [17:32:21.137] | : . | if (length(specified) > 0) { [17:32:21.137] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.137] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.137] | : . | names(options)) [17:32:21.137] | : . | } [17:32:21.137] | : . | specified <- sprintf("future.%s", specified) [17:32:21.137] | : . | names <- setdiff(names(defaults), specified) [17:32:21.137] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.137] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.137] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.137] | : . | options <- options[keep] [17:32:21.137] | : . | options [17:32:21.137] | : . | })(options, fcn)) [17:32:21.137] | : . | expr <- as.call(parts) [17:32:21.137] | : . | expr [17:32:21.137] | : . | } [17:32:21.137] | : . | [17:32:21.139] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.140] | : get_transpiler() ... done [17:32:21.141] | : Transpile call expression ... [17:32:21.142] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:21.142] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:21.142] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:21.142] | : . future.label = "future_eapply-%d") [17:32:21.144] | : Transpile call expression ... done [17:32:21.145] | : Evaluate transpiled call expression [17:32:21.297] | transpile() ... done [17:32:21.298] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, all.names = TRUE), seed = TRUE, flavor = "built-in") [17:32:21.300] futurize() ... [17:32:21.301] | transpile() ... [17:32:21.302] | : get_transpiler() ... [17:32:21.303] | : . Finding call to be transpiled ... [17:32:21.304] | : . | descend_wrappers() ... [17:32:21.305] | : . | : Call: [17:32:21.305] | : . | : base::eapply [17:32:21.306] | : . | : parse_call() ... [17:32:21.307] | : . | : . Function: base::eapply(...) [17:32:21.308] | : . | : parse_call() ... done [17:32:21.309] | : . | descend_wrappers() ... done [17:32:21.309] | : . | parse_call() ... [17:32:21.310] | : . | : Function: base::eapply(...) [17:32:21.311] | : . | parse_call() ... done [17:32:21.312] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.313] | : . | base::eapply [17:32:21.314] | : . Finding call to be transpiled ... done [17:32:21.315] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.316] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.317] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.317] | : . | Transpiler function: [17:32:21.318] | : . | function (expr, options = NULL) [17:32:21.318] | : . | { [17:32:21.318] | : . | call <- make_call("future_eapply") [17:32:21.318] | : . | fcn <- eval(call) [17:32:21.318] | : . | expr[[1]] <- call [17:32:21.318] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.318] | : . | { [17:32:21.318] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.318] | : . | if (is.null(defaults_base)) { [17:32:21.318] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.318] | : . | } [17:32:21.318] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.318] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.318] | : . | defaults <- defaults[keep] [17:32:21.318] | : . | specified <- attr(options, "specified") [17:32:21.318] | : . | if (length(specified) > 0) { [17:32:21.318] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.318] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.318] | : . | names(options)) [17:32:21.318] | : . | } [17:32:21.318] | : . | specified <- sprintf("future.%s", specified) [17:32:21.318] | : . | names <- setdiff(names(defaults), specified) [17:32:21.318] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.318] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.318] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.318] | : . | options <- options[keep] [17:32:21.318] | : . | options [17:32:21.318] | : . | })(options, fcn)) [17:32:21.318] | : . | expr <- as.call(parts) [17:32:21.318] | : . | expr [17:32:21.318] | : . | } [17:32:21.318] | : . | [17:32:21.320] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.321] | : get_transpiler() ... done [17:32:21.321] | : Transpile call expression ... [17:32:21.323] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [17:32:21.323] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:21.323] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:21.324] | : Transpile call expression ... done [17:32:21.325] | : Evaluate transpiled call expression [17:32:21.385] | transpile() ... done [17:32:21.386] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [17:32:21.387] futurize() ... [17:32:21.388] | transpile() ... [17:32:21.388] | : get_transpiler() ... [17:32:21.389] | : . Finding call to be transpiled ... [17:32:21.390] | : . | descend_wrappers() ... [17:32:21.391] | : . | : Call: [17:32:21.391] | : . | : base::eapply [17:32:21.392] | : . | : parse_call() ... [17:32:21.393] | : . | : . Function: base::eapply(...) [17:32:21.394] | : . | : parse_call() ... done [17:32:21.394] | : . | descend_wrappers() ... done [17:32:21.395] | : . | parse_call() ... [17:32:21.395] | : . | : Function: base::eapply(...) [17:32:21.396] | : . | parse_call() ... done [17:32:21.396] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.397] | : . | base::eapply [17:32:21.398] | : . Finding call to be transpiled ... done [17:32:21.398] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.399] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.399] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.400] | : . | Transpiler function: [17:32:21.400] | : . | function (expr, options = NULL) [17:32:21.400] | : . | { [17:32:21.400] | : . | call <- make_call("future_eapply") [17:32:21.400] | : . | fcn <- eval(call) [17:32:21.400] | : . | expr[[1]] <- call [17:32:21.400] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.400] | : . | { [17:32:21.400] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.400] | : . | if (is.null(defaults_base)) { [17:32:21.400] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.400] | : . | } [17:32:21.400] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.400] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.400] | : . | defaults <- defaults[keep] [17:32:21.400] | : . | specified <- attr(options, "specified") [17:32:21.400] | : . | if (length(specified) > 0) { [17:32:21.400] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.400] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.400] | : . | names(options)) [17:32:21.400] | : . | } [17:32:21.400] | : . | specified <- sprintf("future.%s", specified) [17:32:21.400] | : . | names <- setdiff(names(defaults), specified) [17:32:21.400] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.400] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.400] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.400] | : . | options <- options[keep] [17:32:21.400] | : . | options [17:32:21.400] | : . | })(options, fcn)) [17:32:21.400] | : . | expr <- as.call(parts) [17:32:21.400] | : . | expr [17:32:21.400] | : . | } [17:32:21.400] | : . | [17:32:21.402] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.402] | : get_transpiler() ... done [17:32:21.403] | : Transpile call expression ... [17:32:21.404] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:21.404] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:21.404] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:21.405] | : Transpile call expression ... done [17:32:21.406] | : Evaluate transpiled call expression [17:32:21.464] | transpile() ... done [17:32:21.466] futurize() ... done Futures created: 2 [17:32:21.467] futurize() ... [17:32:21.468] | transpile() ... [17:32:21.469] | : get_transpiler() ... [17:32:21.469] | : . Finding call to be transpiled ... [17:32:21.470] | : . | descend_wrappers() ... [17:32:21.471] | : . | : Call: [17:32:21.472] | : . | : base::eapply [17:32:21.473] | : . | : parse_call() ... [17:32:21.474] | : . | : . Function: base::eapply(...) [17:32:21.475] | : . | : parse_call() ... done [17:32:21.476] | : . | descend_wrappers() ... done [17:32:21.477] | : . | parse_call() ... [17:32:21.478] | : . | : Function: base::eapply(...) [17:32:21.478] | : . | parse_call() ... done [17:32:21.479] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.480] | : . | base::eapply [17:32:21.481] | : . Finding call to be transpiled ... done [17:32:21.482] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.482] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.483] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.484] | : . | Transpiler function: [17:32:21.485] | : . | function (expr, options = NULL) [17:32:21.485] | : . | { [17:32:21.485] | : . | call <- make_call("future_eapply") [17:32:21.485] | : . | fcn <- eval(call) [17:32:21.485] | : . | expr[[1]] <- call [17:32:21.485] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.485] | : . | { [17:32:21.485] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.485] | : . | if (is.null(defaults_base)) { [17:32:21.485] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.485] | : . | } [17:32:21.485] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.485] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.485] | : . | defaults <- defaults[keep] [17:32:21.485] | : . | specified <- attr(options, "specified") [17:32:21.485] | : . | if (length(specified) > 0) { [17:32:21.485] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.485] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.485] | : . | names(options)) [17:32:21.485] | : . | } [17:32:21.485] | : . | specified <- sprintf("future.%s", specified) [17:32:21.485] | : . | names <- setdiff(names(defaults), specified) [17:32:21.485] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.485] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.485] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.485] | : . | options <- options[keep] [17:32:21.485] | : . | options [17:32:21.485] | : . | })(options, fcn)) [17:32:21.485] | : . | expr <- as.call(parts) [17:32:21.485] | : . | expr [17:32:21.485] | : . | } [17:32:21.485] | : . | [17:32:21.486] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.486] | : get_transpiler() ... done [17:32:21.487] | : Transpile call expression ... [17:32:21.488] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:21.488] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [17:32:21.488] | : . future.conditions = character(0), future.scheduling = 1, [17:32:21.488] | : . future.label = "future_eapply-%d") [17:32:21.491] | : Transpile call expression ... done [17:32:21.492] | : Evaluate transpiled call expression [17:32:21.558] | transpile() ... done [17:32:21.559] futurize() ... done character(0) [17:32:21.560] futurize() ... [17:32:21.560] | transpile() ... [17:32:21.561] | : get_transpiler() ... [17:32:21.562] | : . Finding call to be transpiled ... [17:32:21.562] | : . | descend_wrappers() ... [17:32:21.563] | : . | : Call: [17:32:21.563] | : . | : base::eapply [17:32:21.564] | : . | : parse_call() ... [17:32:21.565] | : . | : . Function: base::eapply(...) [17:32:21.565] | : . | : parse_call() ... done [17:32:21.566] | : . | descend_wrappers() ... done [17:32:21.566] | : . | parse_call() ... [17:32:21.567] | : . | : Function: base::eapply(...) [17:32:21.568] | : . | parse_call() ... done [17:32:21.568] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.569] | : . | base::eapply [17:32:21.569] | : . Finding call to be transpiled ... done [17:32:21.570] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.571] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.571] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.572] | : . | Transpiler function: [17:32:21.572] | : . | function (expr, options = NULL) [17:32:21.572] | : . | { [17:32:21.572] | : . | call <- make_call("future_eapply") [17:32:21.572] | : . | fcn <- eval(call) [17:32:21.572] | : . | expr[[1]] <- call [17:32:21.572] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.572] | : . | { [17:32:21.572] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.572] | : . | if (is.null(defaults_base)) { [17:32:21.572] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.572] | : . | } [17:32:21.572] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.572] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.572] | : . | defaults <- defaults[keep] [17:32:21.572] | : . | specified <- attr(options, "specified") [17:32:21.572] | : . | if (length(specified) > 0) { [17:32:21.572] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.572] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.572] | : . | names(options)) [17:32:21.572] | : . | } [17:32:21.572] | : . | specified <- sprintf("future.%s", specified) [17:32:21.572] | : . | names <- setdiff(names(defaults), specified) [17:32:21.572] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.572] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.572] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.572] | : . | options <- options[keep] [17:32:21.572] | : . | options [17:32:21.572] | : . | })(options, fcn)) [17:32:21.572] | : . | expr <- as.call(parts) [17:32:21.572] | : . | expr [17:32:21.572] | : . | } [17:32:21.572] | : . | [17:32:21.573] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.574] | : get_transpiler() ... done [17:32:21.575] | : Transpile call expression ... [17:32:21.575] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:21.575] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [17:32:21.575] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [17:32:21.575] | : . future.label = "future_eapply-%d") [17:32:21.577] | : Transpile call expression ... done [17:32:21.577] | : Evaluate transpiled call expression [17:32:21.688] | transpile() ... done [17:32:21.690] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [17:32:21.691] futurize() ... [17:32:21.692] | transpile() ... [17:32:21.693] | : get_transpiler() ... [17:32:21.694] | : . Finding call to be transpiled ... [17:32:21.695] | : . | descend_wrappers() ... [17:32:21.696] | : . | : Call: [17:32:21.697] | : . | : base::eapply [17:32:21.698] | : . | : parse_call() ... [17:32:21.698] | : . | : . Function: base::eapply(...) [17:32:21.699] | : . | : parse_call() ... done [17:32:21.700] | : . | descend_wrappers() ... done [17:32:21.700] | : . | parse_call() ... [17:32:21.701] | : . | : Function: base::eapply(...) [17:32:21.701] | : . | parse_call() ... done [17:32:21.702] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.703] | : . | base::eapply [17:32:21.703] | : . Finding call to be transpiled ... done [17:32:21.704] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [17:32:21.705] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.705] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [17:32:21.706] | : . | Transpiler function: [17:32:21.707] | : . | function (expr, options = NULL) [17:32:21.707] | : . | { [17:32:21.707] | : . | call <- make_call("future_eapply") [17:32:21.707] | : . | fcn <- eval(call) [17:32:21.707] | : . | expr[[1]] <- call [17:32:21.707] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.707] | : . | { [17:32:21.707] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.707] | : . | if (is.null(defaults_base)) { [17:32:21.707] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.707] | : . | } [17:32:21.707] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.707] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.707] | : . | defaults <- defaults[keep] [17:32:21.707] | : . | specified <- attr(options, "specified") [17:32:21.707] | : . | if (length(specified) > 0) { [17:32:21.707] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.707] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.707] | : . | names(options)) [17:32:21.707] | : . | } [17:32:21.707] | : . | specified <- sprintf("future.%s", specified) [17:32:21.707] | : . | names <- setdiff(names(defaults), specified) [17:32:21.707] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.707] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.707] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.707] | : . | options <- options[keep] [17:32:21.707] | : . | options [17:32:21.707] | : . | })(options, fcn)) [17:32:21.707] | : . | expr <- as.call(parts) [17:32:21.707] | : . | expr [17:32:21.707] | : . | } [17:32:21.707] | : . | [17:32:21.708] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [17:32:21.708] | : get_transpiler() ... done [17:32:21.709] | : Transpile call expression ... [17:32:21.710] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [17:32:21.710] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [17:32:21.710] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [17:32:21.711] | : Transpile call expression ... done [17:32:21.712] | : Evaluate transpiled call expression [17:32:21.761] | transpile() ... done [17:32:21.763] 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 [17:32:21.766] futurize() ... [17:32:21.767] | transpile() ... [17:32:21.768] | : get_transpiler() ... [17:32:21.769] | : . Finding call to be transpiled ... [17:32:21.769] | : . | descend_wrappers() ... [17:32:21.770] | : . | : Call: [17:32:21.771] | : . | : replicate [17:32:21.772] | : . | : parse_call() ... [17:32:21.773] | : . | : . Function: replicate(...) [17:32:21.774] | : . | : . Locate function ... [17:32:21.775] | : . | : . | Function located in: 'base' [17:32:21.776] | : . | : . Locate function ... done [17:32:21.777] | : . | : parse_call() ... done [17:32:21.778] | : . | descend_wrappers() ... done [17:32:21.779] | : . | parse_call() ... [17:32:21.780] | : . | : Function: replicate(...) [17:32:21.781] | : . | : Locate function ... [17:32:21.782] | : . | : . Function located in: 'base' [17:32:21.783] | : . | : Locate function ... done [17:32:21.784] | : . | parse_call() ... done [17:32:21.785] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.786] | : . | replicate [17:32:21.787] | : . Finding call to be transpiled ... done [17:32:21.788] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:21.789] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.790] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:21.791] | : . | Transpiler function: [17:32:21.791] | : . | function (expr, options = NULL) [17:32:21.791] | : . | { [17:32:21.791] | : . | call <- make_call("future_replicate") [17:32:21.791] | : . | fcn <- eval(call) [17:32:21.791] | : . | expr[[1]] <- call [17:32:21.791] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.791] | : . | { [17:32:21.791] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.791] | : . | if (is.null(defaults_base)) { [17:32:21.791] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.791] | : . | } [17:32:21.791] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.791] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.791] | : . | defaults <- defaults[keep] [17:32:21.791] | : . | specified <- attr(options, "specified") [17:32:21.791] | : . | if (length(specified) > 0) { [17:32:21.791] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.791] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.791] | : . | names(options)) [17:32:21.791] | : . | } [17:32:21.791] | : . | specified <- sprintf("future.%s", specified) [17:32:21.791] | : . | names <- setdiff(names(defaults), specified) [17:32:21.791] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.791] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.791] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.791] | : . | options <- options[keep] [17:32:21.791] | : . | options [17:32:21.791] | : . | })(options, fcn)) [17:32:21.791] | : . | expr <- as.call(parts) [17:32:21.791] | : . | expr [17:32:21.791] | : . | } [17:32:21.791] | : . | [17:32:21.793] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:21.794] | : get_transpiler() ... done [17:32:21.795] | : Transpile call expression ... [17:32:21.797] | : . future.apply::future_replicate(2, rnorm(1), future.seed = TRUE, [17:32:21.797] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:21.797] | : . future.scheduling = 1, future.label = "future_replicate-%d") [17:32:21.799] | : Transpile call expression ... done [17:32:21.800] | : Evaluate transpiled call expression [17:32:21.841] | transpile() ... done [17:32:21.842] futurize() ... done Futures created: 2 futurize(seed = FALSE) gives RNG error with replicate() [17:32:21.912] futurize() ... [17:32:21.914] | transpile() ... [17:32:21.915] | : get_transpiler() ... [17:32:21.916] | : . Finding call to be transpiled ... [17:32:21.917] | : . | descend_wrappers() ... [17:32:21.918] | : . | : Call: [17:32:21.919] | : . | : replicate [17:32:21.920] | : . | : parse_call() ... [17:32:21.921] | : . | : . Function: replicate(...) [17:32:21.922] | : . | : . Locate function ... [17:32:21.923] | : . | : . | Function located in: 'base' [17:32:21.923] | : . | : . Locate function ... done [17:32:21.924] | : . | : parse_call() ... done [17:32:21.925] | : . | descend_wrappers() ... done [17:32:21.926] | : . | parse_call() ... [17:32:21.927] | : . | : Function: replicate(...) [17:32:21.928] | : . | : Locate function ... [17:32:21.929] | : . | : . Function located in: 'base' [17:32:21.930] | : . | : Locate function ... done [17:32:21.931] | : . | parse_call() ... done [17:32:21.932] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.933] | : . | replicate [17:32:21.934] | : . Finding call to be transpiled ... done [17:32:21.935] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [17:32:21.936] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.937] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [17:32:21.937] | : . | Transpiler function: [17:32:21.938] | : . | function (expr, options = NULL) [17:32:21.938] | : . | { [17:32:21.938] | : . | call <- make_call("future_replicate") [17:32:21.938] | : . | fcn <- eval(call) [17:32:21.938] | : . | expr[[1]] <- call [17:32:21.938] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:21.938] | : . | { [17:32:21.938] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:21.938] | : . | if (is.null(defaults_base)) { [17:32:21.938] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:21.938] | : . | } [17:32:21.938] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:21.938] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:21.938] | : . | defaults <- defaults[keep] [17:32:21.938] | : . | specified <- attr(options, "specified") [17:32:21.938] | : . | if (length(specified) > 0) { [17:32:21.938] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:21.938] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:21.938] | : . | names(options)) [17:32:21.938] | : . | } [17:32:21.938] | : . | specified <- sprintf("future.%s", specified) [17:32:21.938] | : . | names <- setdiff(names(defaults), specified) [17:32:21.938] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:21.938] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:21.938] | : . | keep <- intersect(names(options), names(defaults)) [17:32:21.938] | : . | options <- options[keep] [17:32:21.938] | : . | options [17:32:21.938] | : . | })(options, fcn)) [17:32:21.938] | : . | expr <- as.call(parts) [17:32:21.938] | : . | expr [17:32:21.938] | : . | } [17:32:21.938] | : . | [17:32:21.940] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [17:32:21.941] | : get_transpiler() ... done [17:32:21.941] | : Transpile call expression ... [17:32:21.943] | : . future.apply::future_replicate(2, rnorm(1), future.seed = FALSE, [17:32:21.943] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [17:32:21.943] | : . future.scheduling = 1, future.label = "future_replicate-%d") [17:32:21.945] | : Transpile call expression ... done [17:32:21.946] | : Evaluate transpiled call expression Warning: Caught RngFutureError. Canceling all iterations ... [17:32:21.975] | transpile() ... done [17:32:21.976] futurize() ... done Special case: Zero futurize() options [17:32:21.977] futurize() ... [17:32:21.978] | transpile() ... [17:32:21.979] | : get_transpiler() ... [17:32:21.980] | : . Finding call to be transpiled ... [17:32:21.981] | : . | descend_wrappers() ... [17:32:21.982] | : . | : Call: [17:32:21.982] | : . | : lapply [17:32:21.983] | : . | : parse_call() ... [17:32:21.984] | : . | : . Function: lapply(...) [17:32:21.985] | : . | : . Locate function ... [17:32:21.986] | : . | : . | Function located in: 'base' [17:32:21.987] | : . | : . Locate function ... done [17:32:21.988] | : . | : parse_call() ... done [17:32:21.989] | : . | descend_wrappers() ... done [17:32:21.990] | : . | parse_call() ... [17:32:21.990] | : . | : Function: lapply(...) [17:32:21.991] | : . | : Locate function ... [17:32:21.992] | : . | : . Function located in: 'base' [17:32:21.993] | : . | : Locate function ... done [17:32:21.994] | : . | parse_call() ... done [17:32:21.995] | : . | Position of call to be transpiled in expression: c(1) [17:32:21.995] | : . | lapply [17:32:21.997] | : . Finding call to be transpiled ... done [17:32:21.997] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [17:32:21.998] | : . | Namespaces registered with futurize(): 'base', 'stats' [17:32:21.999] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [17:32:22.000] | : . | Transpiler function: [17:32:22.001] | : . | function (expr, options = NULL) [17:32:22.001] | : . | { [17:32:22.001] | : . | call <- make_call("future_lapply") [17:32:22.001] | : . | fcn <- eval(call) [17:32:22.001] | : . | expr[[1]] <- call [17:32:22.001] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [17:32:22.001] | : . | { [17:32:22.001] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [17:32:22.001] | : . | if (is.null(defaults_base)) { [17:32:22.001] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [17:32:22.001] | : . | } [17:32:22.001] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [17:32:22.001] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [17:32:22.001] | : . | defaults <- defaults[keep] [17:32:22.001] | : . | specified <- attr(options, "specified") [17:32:22.001] | : . | if (length(specified) > 0) { [17:32:22.001] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [17:32:22.001] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [17:32:22.001] | : . | names(options)) [17:32:22.001] | : . | } [17:32:22.001] | : . | specified <- sprintf("future.%s", specified) [17:32:22.001] | : . | names <- setdiff(names(defaults), specified) [17:32:22.001] | : . | names(options) <- sprintf("future.%s", names(options)) [17:32:22.001] | : . | for (name in names) options[[name]] <- defaults[[name]] [17:32:22.001] | : . | keep <- intersect(names(options), names(defaults)) [17:32:22.001] | : . | options <- options[keep] [17:32:22.001] | : . | options [17:32:22.001] | : . | })(options, fcn)) [17:32:22.001] | : . | expr <- as.call(parts) [17:32:22.001] | : . | expr [17:32:22.001] | : . | } [17:32:22.001] | : . | [17:32:22.002] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [17:32:22.003] | : get_transpiler() ... done [17:32:22.004] | : Transpile call expression ... [17:32:22.005] | : . future.apply::future_lapply(1, identity) [17:32:22.007] | : Transpile call expression ... done [17:32:22.007] | : Evaluate transpiled call expression [17:32:22.027] | transpile() ... done [17:32:22.028] futurize() ... done Failed to undo environment variables: - Expected environment variables: [n=218] '!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_RCPP_NOT_NEEDED_', '_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_03_18_17_25_17_22656' Test time: user.self=9s, sys.self=1s, elapsed=1e+01s, user.child=NAs, sys.child=NAs Test 'futurize-base-stats' ... success > > proc.time() user system elapsed 9.10 1.35 14.07