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 [15:33:52.471] futurize() ... [15:33:52.473] | transpile() ... [15:33:52.474] | : get_transpiler() ... [15:33:52.475] | : . Finding call to be transpiled ... [15:33:52.477] | : . | descend_wrappers() ... [15:33:52.478] | : . | : Call: [15:33:52.479] | : . | : lapply [15:33:52.481] | : . | : parse_call() ... [15:33:52.482] | : . | : . Function: lapply(...) [15:33:52.483] | : . | : . Locate function ... [15:33:52.484] | : . | : . | Function located in: 'base' [15:33:52.485] | : . | : . Locate function ... done [15:33:52.486] | : . | : parse_call() ... done [15:33:52.487] | : . | descend_wrappers() ... done [15:33:52.488] | : . | parse_call() ... [15:33:52.489] | : . | : Function: lapply(...) [15:33:52.490] | : . | : Locate function ... [15:33:52.491] | : . | : . Function located in: 'base' [15:33:52.492] | : . | : Locate function ... done [15:33:52.493] | : . | parse_call() ... done [15:33:52.494] | : . | Position of call to be transpiled in expression: c(1) [15:33:52.495] | : . | lapply [15:33:52.496] | : . Finding call to be transpiled ... done [15:33:52.497] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:52.498] | : . | transpilers_for_package(action = 'make', type = 'futurize::add-on') ... [15:33:52.499] | : . | : - package: 'base' [15:33:52.500] | : . | : $fcns [15:33:52.500] | : . | : $fcns[[1]] [15:33:52.500] | : . | : function () [15:33:52.500] | : . | : { [15:33:52.500] | : . | : append_transpilers("futurize::add-on", make_addon_transpilers("base", [15:33:52.500] | : . | : "future.apply", make_options = make_options_for_future.apply)) [15:33:52.500] | : . | : append_transpilers("futurize::add-on", make_addon_transpilers("stats", [15:33:52.500] | : . | : "future.apply", make_options = make_options_for_future.apply)) [15:33:52.500] | : . | : c("future.apply") [15:33:52.500] | : . | : } [15:33:52.500] | : . | : [15:33:52.500] | : . | : [15:33:52.500] | : . | : [15:33:52.500] | : . | : [15:33:52.514] | : . | transpilers_for_package(action = 'make', type = 'futurize::add-on') ... done [15:33:52.515] | : . | Required packages: [n=1] 'future.apply' [15:33:52.516] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:52.517] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:52.518] | : . | Transpiler function: [15:33:52.519] | : . | function (expr, options = NULL) [15:33:52.519] | : . | { [15:33:52.519] | : . | call <- make_call("future_lapply") [15:33:52.519] | : . | fcn <- eval(call) [15:33:52.519] | : . | expr[[1]] <- call [15:33:52.519] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:52.519] | : . | { [15:33:52.519] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:52.519] | : . | if (is.null(defaults_base)) { [15:33:52.519] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:52.519] | : . | } [15:33:52.519] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:52.519] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:52.519] | : . | defaults <- defaults[keep] [15:33:52.519] | : . | specified <- attr(options, "specified") [15:33:52.519] | : . | if (length(specified) > 0) { [15:33:52.519] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:52.519] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:52.519] | : . | names(options)) [15:33:52.519] | : . | } [15:33:52.519] | : . | specified <- sprintf("future.%s", specified) [15:33:52.519] | : . | names <- setdiff(names(defaults), specified) [15:33:52.519] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:52.519] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:52.519] | : . | keep <- intersect(names(options), names(defaults)) [15:33:52.519] | : . | options <- options[keep] [15:33:52.519] | : . | options [15:33:52.519] | : . | })(options, fcn)) [15:33:52.519] | : . | expr <- as.call(parts) [15:33:52.519] | : . | expr [15:33:52.519] | : . | } [15:33:52.519] | : . | [15:33:52.521] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:52.522] | : get_transpiler() ... done [15:33:52.523] | : Transpile call expression ... [15:33:52.525] | : . future.apply::future_lapply(X = 1:3, FUN = function(x) { [15:33:52.525] | : . print(x) [15:33:52.525] | : . }, future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:33:52.525] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_lapply-%d") [15:33:52.528] | : Transpile call expression ... done [15:33:52.529] | : Evaluate transpiled call expression [15:33:52.702] | transpile() ... done [15:33:52.703] futurize() ... done Futures created: 2 [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 === lapply ========================== lapply(X = xs, FUN = FUN) --------------------------------- [15:33:52.775] futurize() ... [15:33:52.776] | transpile() ... [15:33:52.776] | : get_transpiler() ... [15:33:52.777] | : . Finding call to be transpiled ... [15:33:52.778] | : . | descend_wrappers() ... [15:33:52.778] | : . | : Call: [15:33:52.779] | : . | : lapply [15:33:52.779] | : . | : parse_call() ... [15:33:52.780] | : . | : . Function: lapply(...) [15:33:52.781] | : . | : . Locate function ... [15:33:52.781] | : . | : . | Function located in: 'base' [15:33:52.782] | : . | : . Locate function ... done [15:33:52.783] | : . | : parse_call() ... done [15:33:52.783] | : . | descend_wrappers() ... done [15:33:52.784] | : . | parse_call() ... [15:33:52.784] | : . | : Function: lapply(...) [15:33:52.785] | : . | : Locate function ... [15:33:52.785] | : . | : . Function located in: 'base' [15:33:52.786] | : . | : Locate function ... done [15:33:52.787] | : . | parse_call() ... done [15:33:52.787] | : . | Position of call to be transpiled in expression: c(1) [15:33:52.788] | : . | lapply [15:33:52.789] | : . Finding call to be transpiled ... done [15:33:52.790] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:52.791] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:52.792] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:52.793] | : . | Transpiler function: [15:33:52.794] | : . | function (expr, options = NULL) [15:33:52.794] | : . | { [15:33:52.794] | : . | call <- make_call("future_lapply") [15:33:52.794] | : . | fcn <- eval(call) [15:33:52.794] | : . | expr[[1]] <- call [15:33:52.794] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:52.794] | : . | { [15:33:52.794] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:52.794] | : . | if (is.null(defaults_base)) { [15:33:52.794] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:52.794] | : . | } [15:33:52.794] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:52.794] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:52.794] | : . | defaults <- defaults[keep] [15:33:52.794] | : . | specified <- attr(options, "specified") [15:33:52.794] | : . | if (length(specified) > 0) { [15:33:52.794] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:52.794] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:52.794] | : . | names(options)) [15:33:52.794] | : . | } [15:33:52.794] | : . | specified <- sprintf("future.%s", specified) [15:33:52.794] | : . | names <- setdiff(names(defaults), specified) [15:33:52.794] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:52.794] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:52.794] | : . | keep <- intersect(names(options), names(defaults)) [15:33:52.794] | : . | options <- options[keep] [15:33:52.794] | : . | options [15:33:52.794] | : . | })(options, fcn)) [15:33:52.794] | : . | expr <- as.call(parts) [15:33:52.794] | : . | expr [15:33:52.794] | : . | } [15:33:52.794] | : . | [15:33:52.795] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:52.796] | : get_transpiler() ... done [15:33:52.796] | : Transpile call expression ... [15:33:52.797] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:52.797] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:52.797] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:52.799] | : Transpile call expression ... done [15:33:52.799] | : Evaluate transpiled call expression [15:33:52.857] | transpile() ... done [15:33:52.858] futurize() ... done Futures created: 2 [15:33:52.860] futurize() ... [15:33:52.861] | transpile() ... [15:33:52.862] | : get_transpiler() ... [15:33:52.863] | : . Finding call to be transpiled ... [15:33:52.864] | : . | descend_wrappers() ... [15:33:52.865] | : . | : Call: [15:33:52.866] | : . | : lapply [15:33:52.867] | : . | : parse_call() ... [15:33:52.868] | : . | : . Function: lapply(...) [15:33:52.869] | : . | : . Locate function ... [15:33:52.870] | : . | : . | Function located in: 'base' [15:33:52.871] | : . | : . Locate function ... done [15:33:52.872] | : . | : parse_call() ... done [15:33:52.873] | : . | descend_wrappers() ... done [15:33:52.874] | : . | parse_call() ... [15:33:52.875] | : . | : Function: lapply(...) [15:33:52.876] | : . | : Locate function ... [15:33:52.877] | : . | : . Function located in: 'base' [15:33:52.879] | : . | : Locate function ... done [15:33:52.880] | : . | parse_call() ... done [15:33:52.881] | : . | Position of call to be transpiled in expression: c(1) [15:33:52.882] | : . | lapply [15:33:52.883] | : . Finding call to be transpiled ... done [15:33:52.884] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:52.884] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:52.885] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:52.885] | : . | Transpiler function: [15:33:52.886] | : . | function (expr, options = NULL) [15:33:52.886] | : . | { [15:33:52.886] | : . | call <- make_call("future_lapply") [15:33:52.886] | : . | fcn <- eval(call) [15:33:52.886] | : . | expr[[1]] <- call [15:33:52.886] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:52.886] | : . | { [15:33:52.886] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:52.886] | : . | if (is.null(defaults_base)) { [15:33:52.886] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:52.886] | : . | } [15:33:52.886] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:52.886] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:52.886] | : . | defaults <- defaults[keep] [15:33:52.886] | : . | specified <- attr(options, "specified") [15:33:52.886] | : . | if (length(specified) > 0) { [15:33:52.886] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:52.886] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:52.886] | : . | names(options)) [15:33:52.886] | : . | } [15:33:52.886] | : . | specified <- sprintf("future.%s", specified) [15:33:52.886] | : . | names <- setdiff(names(defaults), specified) [15:33:52.886] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:52.886] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:52.886] | : . | keep <- intersect(names(options), names(defaults)) [15:33:52.886] | : . | options <- options[keep] [15:33:52.886] | : . | options [15:33:52.886] | : . | })(options, fcn)) [15:33:52.886] | : . | expr <- as.call(parts) [15:33:52.886] | : . | expr [15:33:52.886] | : . | } [15:33:52.886] | : . | [15:33:52.887] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:52.888] | : get_transpiler() ... done [15:33:52.888] | : Transpile call expression ... [15:33:52.889] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:52.889] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:52.889] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:52.891] | : Transpile call expression ... done [15:33:52.891] | : Evaluate transpiled call expression [15:33:52.948] | transpile() ... done [15:33:52.949] futurize() ... done character(0) [15:33:52.950] futurize() ... [15:33:52.951] | transpile() ... [15:33:52.952] | : get_transpiler() ... [15:33:52.953] | : . Finding call to be transpiled ... [15:33:52.954] | : . | descend_wrappers() ... [15:33:52.954] | : . | : Call: [15:33:52.955] | : . | : lapply [15:33:52.957] | : . | : parse_call() ... [15:33:52.958] | : . | : . Function: lapply(...) [15:33:52.958] | : . | : . Locate function ... [15:33:52.959] | : . | : . | Function located in: 'base' [15:33:52.960] | : . | : . Locate function ... done [15:33:52.960] | : . | : parse_call() ... done [15:33:52.961] | : . | descend_wrappers() ... done [15:33:52.962] | : . | parse_call() ... [15:33:52.962] | : . | : Function: lapply(...) [15:33:52.963] | : . | : Locate function ... [15:33:52.964] | : . | : . Function located in: 'base' [15:33:52.964] | : . | : Locate function ... done [15:33:52.965] | : . | parse_call() ... done [15:33:52.965] | : . | Position of call to be transpiled in expression: c(1) [15:33:52.966] | : . | lapply [15:33:52.967] | : . Finding call to be transpiled ... done [15:33:52.967] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:52.968] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:52.968] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:52.969] | : . | Transpiler function: [15:33:52.970] | : . | function (expr, options = NULL) [15:33:52.970] | : . | { [15:33:52.970] | : . | call <- make_call("future_lapply") [15:33:52.970] | : . | fcn <- eval(call) [15:33:52.970] | : . | expr[[1]] <- call [15:33:52.970] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:52.970] | : . | { [15:33:52.970] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:52.970] | : . | if (is.null(defaults_base)) { [15:33:52.970] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:52.970] | : . | } [15:33:52.970] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:52.970] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:52.970] | : . | defaults <- defaults[keep] [15:33:52.970] | : . | specified <- attr(options, "specified") [15:33:52.970] | : . | if (length(specified) > 0) { [15:33:52.970] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:52.970] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:52.970] | : . | names(options)) [15:33:52.970] | : . | } [15:33:52.970] | : . | specified <- sprintf("future.%s", specified) [15:33:52.970] | : . | names <- setdiff(names(defaults), specified) [15:33:52.970] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:52.970] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:52.970] | : . | keep <- intersect(names(options), names(defaults)) [15:33:52.970] | : . | options <- options[keep] [15:33:52.970] | : . | options [15:33:52.970] | : . | })(options, fcn)) [15:33:52.970] | : . | expr <- as.call(parts) [15:33:52.970] | : . | expr [15:33:52.970] | : . | } [15:33:52.970] | : . | [15:33:52.971] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:52.971] | : get_transpiler() ... done [15:33:52.972] | : Transpile call expression ... [15:33:52.973] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:52.973] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:52.973] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [15:33:52.974] | : Transpile call expression ... done [15:33:52.975] | : Evaluate transpiled call expression [15:33:53.145] | transpile() ... done [15:33:53.146] futurize() ... done Test with RNG: futurize(lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [15:33:53.147] futurize() ... [15:33:53.148] | transpile() ... [15:33:53.149] | : get_transpiler() ... [15:33:53.150] | : . Finding call to be transpiled ... [15:33:53.151] | : . | descend_wrappers() ... [15:33:53.151] | : . | : Call: [15:33:53.152] | : . | : lapply [15:33:53.155] | : . | : parse_call() ... [15:33:53.156] | : . | : . Function: lapply(...) [15:33:53.157] | : . | : . Locate function ... [15:33:53.158] | : . | : . | Function located in: 'base' [15:33:53.159] | : . | : . Locate function ... done [15:33:53.160] | : . | : parse_call() ... done [15:33:53.160] | : . | descend_wrappers() ... done [15:33:53.161] | : . | parse_call() ... [15:33:53.162] | : . | : Function: lapply(...) [15:33:53.163] | : . | : Locate function ... [15:33:53.164] | : . | : . Function located in: 'base' [15:33:53.165] | : . | : Locate function ... done [15:33:53.166] | : . | parse_call() ... done [15:33:53.167] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.168] | : . | lapply [15:33:53.169] | : . Finding call to be transpiled ... done [15:33:53.170] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:53.171] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.172] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:53.173] | : . | Transpiler function: [15:33:53.174] | : . | function (expr, options = NULL) [15:33:53.174] | : . | { [15:33:53.174] | : . | call <- make_call("future_lapply") [15:33:53.174] | : . | fcn <- eval(call) [15:33:53.174] | : . | expr[[1]] <- call [15:33:53.174] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.174] | : . | { [15:33:53.174] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.174] | : . | if (is.null(defaults_base)) { [15:33:53.174] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.174] | : . | } [15:33:53.174] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.174] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.174] | : . | defaults <- defaults[keep] [15:33:53.174] | : . | specified <- attr(options, "specified") [15:33:53.174] | : . | if (length(specified) > 0) { [15:33:53.174] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.174] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.174] | : . | names(options)) [15:33:53.174] | : . | } [15:33:53.174] | : . | specified <- sprintf("future.%s", specified) [15:33:53.174] | : . | names <- setdiff(names(defaults), specified) [15:33:53.174] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.174] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.174] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.174] | : . | options <- options[keep] [15:33:53.174] | : . | options [15:33:53.174] | : . | })(options, fcn)) [15:33:53.174] | : . | expr <- as.call(parts) [15:33:53.174] | : . | expr [15:33:53.174] | : . | } [15:33:53.174] | : . | [15:33:53.176] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:53.177] | : get_transpiler() ... done [15:33:53.178] | : Transpile call expression ... [15:33:53.179] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [15:33:53.179] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:53.179] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:53.181] | : Transpile call expression ... done [15:33:53.182] | : Evaluate transpiled call expression [15:33:53.243] | transpile() ... done [15:33:53.244] futurize() ... done === lapply ========================== base::lapply(X = xs, FUN = FUN) --------------------------------- [15:33:53.246] futurize() ... [15:33:53.247] | transpile() ... [15:33:53.248] | : get_transpiler() ... [15:33:53.249] | : . Finding call to be transpiled ... [15:33:53.250] | : . | descend_wrappers() ... [15:33:53.251] | : . | : Call: [15:33:53.252] | : . | : base::lapply [15:33:53.254] | : . | : parse_call() ... [15:33:53.255] | : . | : . Function: base::lapply(...) [15:33:53.256] | : . | : parse_call() ... done [15:33:53.257] | : . | descend_wrappers() ... done [15:33:53.258] | : . | parse_call() ... [15:33:53.259] | : . | : Function: base::lapply(...) [15:33:53.260] | : . | parse_call() ... done [15:33:53.261] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.262] | : . | base::lapply [15:33:53.263] | : . Finding call to be transpiled ... done [15:33:53.264] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:53.265] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.266] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:53.267] | : . | Transpiler function: [15:33:53.268] | : . | function (expr, options = NULL) [15:33:53.268] | : . | { [15:33:53.268] | : . | call <- make_call("future_lapply") [15:33:53.268] | : . | fcn <- eval(call) [15:33:53.268] | : . | expr[[1]] <- call [15:33:53.268] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.268] | : . | { [15:33:53.268] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.268] | : . | if (is.null(defaults_base)) { [15:33:53.268] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.268] | : . | } [15:33:53.268] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.268] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.268] | : . | defaults <- defaults[keep] [15:33:53.268] | : . | specified <- attr(options, "specified") [15:33:53.268] | : . | if (length(specified) > 0) { [15:33:53.268] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.268] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.268] | : . | names(options)) [15:33:53.268] | : . | } [15:33:53.268] | : . | specified <- sprintf("future.%s", specified) [15:33:53.268] | : . | names <- setdiff(names(defaults), specified) [15:33:53.268] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.268] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.268] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.268] | : . | options <- options[keep] [15:33:53.268] | : . | options [15:33:53.268] | : . | })(options, fcn)) [15:33:53.268] | : . | expr <- as.call(parts) [15:33:53.268] | : . | expr [15:33:53.268] | : . | } [15:33:53.268] | : . | [15:33:53.270] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:53.271] | : get_transpiler() ... done [15:33:53.272] | : Transpile call expression ... [15:33:53.274] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:53.274] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:53.274] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:53.276] | : Transpile call expression ... done [15:33:53.277] | : Evaluate transpiled call expression [15:33:53.342] | transpile() ... done [15:33:53.343] futurize() ... done Futures created: 2 [15:33:53.344] futurize() ... [15:33:53.345] | transpile() ... [15:33:53.346] | : get_transpiler() ... [15:33:53.347] | : . Finding call to be transpiled ... [15:33:53.348] | : . | descend_wrappers() ... [15:33:53.349] | : . | : Call: [15:33:53.350] | : . | : base::lapply [15:33:53.351] | : . | : parse_call() ... [15:33:53.352] | : . | : . Function: base::lapply(...) [15:33:53.353] | : . | : parse_call() ... done [15:33:53.354] | : . | descend_wrappers() ... done [15:33:53.355] | : . | parse_call() ... [15:33:53.356] | : . | : Function: base::lapply(...) [15:33:53.357] | : . | parse_call() ... done [15:33:53.357] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.358] | : . | base::lapply [15:33:53.359] | : . Finding call to be transpiled ... done [15:33:53.360] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:53.361] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.362] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:53.363] | : . | Transpiler function: [15:33:53.364] | : . | function (expr, options = NULL) [15:33:53.364] | : . | { [15:33:53.364] | : . | call <- make_call("future_lapply") [15:33:53.364] | : . | fcn <- eval(call) [15:33:53.364] | : . | expr[[1]] <- call [15:33:53.364] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.364] | : . | { [15:33:53.364] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.364] | : . | if (is.null(defaults_base)) { [15:33:53.364] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.364] | : . | } [15:33:53.364] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.364] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.364] | : . | defaults <- defaults[keep] [15:33:53.364] | : . | specified <- attr(options, "specified") [15:33:53.364] | : . | if (length(specified) > 0) { [15:33:53.364] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.364] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.364] | : . | names(options)) [15:33:53.364] | : . | } [15:33:53.364] | : . | specified <- sprintf("future.%s", specified) [15:33:53.364] | : . | names <- setdiff(names(defaults), specified) [15:33:53.364] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.364] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.364] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.364] | : . | options <- options[keep] [15:33:53.364] | : . | options [15:33:53.364] | : . | })(options, fcn)) [15:33:53.364] | : . | expr <- as.call(parts) [15:33:53.364] | : . | expr [15:33:53.364] | : . | } [15:33:53.364] | : . | [15:33:53.366] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:53.367] | : get_transpiler() ... done [15:33:53.368] | : Transpile call expression ... [15:33:53.369] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:53.369] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:53.369] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:53.371] | : Transpile call expression ... done [15:33:53.372] | : Evaluate transpiled call expression [15:33:53.430] | transpile() ... done [15:33:53.431] futurize() ... done character(0) [15:33:53.432] futurize() ... [15:33:53.433] | transpile() ... [15:33:53.435] | : get_transpiler() ... [15:33:53.435] | : . Finding call to be transpiled ... [15:33:53.436] | : . | descend_wrappers() ... [15:33:53.437] | : . | : Call: [15:33:53.438] | : . | : base::lapply [15:33:53.439] | : . | : parse_call() ... [15:33:53.440] | : . | : . Function: base::lapply(...) [15:33:53.441] | : . | : parse_call() ... done [15:33:53.442] | : . | descend_wrappers() ... done [15:33:53.442] | : . | parse_call() ... [15:33:53.443] | : . | : Function: base::lapply(...) [15:33:53.444] | : . | parse_call() ... done [15:33:53.445] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.446] | : . | base::lapply [15:33:53.447] | : . Finding call to be transpiled ... done [15:33:53.448] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:53.449] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.450] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:53.450] | : . | Transpiler function: [15:33:53.451] | : . | function (expr, options = NULL) [15:33:53.451] | : . | { [15:33:53.451] | : . | call <- make_call("future_lapply") [15:33:53.451] | : . | fcn <- eval(call) [15:33:53.451] | : . | expr[[1]] <- call [15:33:53.451] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.451] | : . | { [15:33:53.451] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.451] | : . | if (is.null(defaults_base)) { [15:33:53.451] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.451] | : . | } [15:33:53.451] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.451] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.451] | : . | defaults <- defaults[keep] [15:33:53.451] | : . | specified <- attr(options, "specified") [15:33:53.451] | : . | if (length(specified) > 0) { [15:33:53.451] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.451] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.451] | : . | names(options)) [15:33:53.451] | : . | } [15:33:53.451] | : . | specified <- sprintf("future.%s", specified) [15:33:53.451] | : . | names <- setdiff(names(defaults), specified) [15:33:53.451] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.451] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.451] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.451] | : . | options <- options[keep] [15:33:53.451] | : . | options [15:33:53.451] | : . | })(options, fcn)) [15:33:53.451] | : . | expr <- as.call(parts) [15:33:53.451] | : . | expr [15:33:53.451] | : . | } [15:33:53.451] | : . | [15:33:53.452] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:53.453] | : get_transpiler() ... done [15:33:53.454] | : Transpile call expression ... [15:33:53.455] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:53.455] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:53.455] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [15:33:53.456] | : Transpile call expression ... done [15:33:53.457] | : Evaluate transpiled call expression [15:33:53.584] | transpile() ... done [15:33:53.586] futurize() ... done Test with RNG: futurize(base::lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [15:33:53.587] futurize() ... [15:33:53.588] | transpile() ... [15:33:53.589] | : get_transpiler() ... [15:33:53.590] | : . Finding call to be transpiled ... [15:33:53.591] | : . | descend_wrappers() ... [15:33:53.593] | : . | : Call: [15:33:53.594] | : . | : base::lapply [15:33:53.595] | : . | : parse_call() ... [15:33:53.596] | : . | : . Function: base::lapply(...) [15:33:53.597] | : . | : parse_call() ... done [15:33:53.598] | : . | descend_wrappers() ... done [15:33:53.599] | : . | parse_call() ... [15:33:53.600] | : . | : Function: base::lapply(...) [15:33:53.601] | : . | parse_call() ... done [15:33:53.602] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.603] | : . | base::lapply [15:33:53.604] | : . Finding call to be transpiled ... done [15:33:53.605] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:53.606] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.607] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:53.608] | : . | Transpiler function: [15:33:53.609] | : . | function (expr, options = NULL) [15:33:53.609] | : . | { [15:33:53.609] | : . | call <- make_call("future_lapply") [15:33:53.609] | : . | fcn <- eval(call) [15:33:53.609] | : . | expr[[1]] <- call [15:33:53.609] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.609] | : . | { [15:33:53.609] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.609] | : . | if (is.null(defaults_base)) { [15:33:53.609] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.609] | : . | } [15:33:53.609] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.609] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.609] | : . | defaults <- defaults[keep] [15:33:53.609] | : . | specified <- attr(options, "specified") [15:33:53.609] | : . | if (length(specified) > 0) { [15:33:53.609] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.609] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.609] | : . | names(options)) [15:33:53.609] | : . | } [15:33:53.609] | : . | specified <- sprintf("future.%s", specified) [15:33:53.609] | : . | names <- setdiff(names(defaults), specified) [15:33:53.609] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.609] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.609] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.609] | : . | options <- options[keep] [15:33:53.609] | : . | options [15:33:53.609] | : . | })(options, fcn)) [15:33:53.609] | : . | expr <- as.call(parts) [15:33:53.609] | : . | expr [15:33:53.609] | : . | } [15:33:53.609] | : . | [15:33:53.611] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:53.612] | : get_transpiler() ... done [15:33:53.613] | : Transpile call expression ... [15:33:53.615] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [15:33:53.615] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:53.615] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:53.617] | : Transpile call expression ... done [15:33:53.618] | : Evaluate transpiled call expression [15:33:53.703] | transpile() ... done [15:33:53.704] futurize() ... done === sapply ========================== sapply(X = xs, FUN = FUN) --------------------------------- [15:33:53.706] futurize() ... [15:33:53.707] | transpile() ... [15:33:53.708] | : get_transpiler() ... [15:33:53.709] | : . Finding call to be transpiled ... [15:33:53.710] | : . | descend_wrappers() ... [15:33:53.711] | : . | : Call: [15:33:53.712] | : . | : sapply [15:33:53.713] | : . | : parse_call() ... [15:33:53.714] | : . | : . Function: sapply(...) [15:33:53.715] | : . | : . Locate function ... [15:33:53.716] | : . | : . | Function located in: 'base' [15:33:53.717] | : . | : . Locate function ... done [15:33:53.718] | : . | : parse_call() ... done [15:33:53.719] | : . | descend_wrappers() ... done [15:33:53.720] | : . | parse_call() ... [15:33:53.721] | : . | : Function: sapply(...) [15:33:53.722] | : . | : Locate function ... [15:33:53.723] | : . | : . Function located in: 'base' [15:33:53.724] | : . | : Locate function ... done [15:33:53.725] | : . | parse_call() ... done [15:33:53.726] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.728] | : . | sapply [15:33:53.729] | : . Finding call to be transpiled ... done [15:33:53.730] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:53.731] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.732] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:53.733] | : . | Transpiler function: [15:33:53.734] | : . | function (expr, options = NULL) [15:33:53.734] | : . | { [15:33:53.734] | : . | call <- make_call("future_sapply") [15:33:53.734] | : . | fcn <- eval(call) [15:33:53.734] | : . | expr[[1]] <- call [15:33:53.734] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.734] | : . | { [15:33:53.734] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.734] | : . | if (is.null(defaults_base)) { [15:33:53.734] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.734] | : . | } [15:33:53.734] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.734] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.734] | : . | defaults <- defaults[keep] [15:33:53.734] | : . | specified <- attr(options, "specified") [15:33:53.734] | : . | if (length(specified) > 0) { [15:33:53.734] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.734] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.734] | : . | names(options)) [15:33:53.734] | : . | } [15:33:53.734] | : . | specified <- sprintf("future.%s", specified) [15:33:53.734] | : . | names <- setdiff(names(defaults), specified) [15:33:53.734] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.734] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.734] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.734] | : . | options <- options[keep] [15:33:53.734] | : . | options [15:33:53.734] | : . | })(options, fcn)) [15:33:53.734] | : . | expr <- as.call(parts) [15:33:53.734] | : . | expr [15:33:53.734] | : . | } [15:33:53.734] | : . | [15:33:53.736] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:53.737] | : get_transpiler() ... done [15:33:53.738] | : Transpile call expression ... [15:33:53.740] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:53.740] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:53.740] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:33:53.743] | : Transpile call expression ... done [15:33:53.744] | : Evaluate transpiled call expression [15:33:53.823] | transpile() ... done [15:33:53.824] futurize() ... done Futures created: 2 [15:33:53.826] futurize() ... [15:33:53.827] | transpile() ... [15:33:53.828] | : get_transpiler() ... [15:33:53.829] | : . Finding call to be transpiled ... [15:33:53.830] | : . | descend_wrappers() ... [15:33:53.831] | : . | : Call: [15:33:53.832] | : . | : sapply [15:33:53.833] | : . | : parse_call() ... [15:33:53.834] | : . | : . Function: sapply(...) [15:33:53.835] | : . | : . Locate function ... [15:33:53.836] | : . | : . | Function located in: 'base' [15:33:53.837] | : . | : . Locate function ... done [15:33:53.839] | : . | : parse_call() ... done [15:33:53.840] | : . | descend_wrappers() ... done [15:33:53.841] | : . | parse_call() ... [15:33:53.842] | : . | : Function: sapply(...) [15:33:53.843] | : . | : Locate function ... [15:33:53.844] | : . | : . Function located in: 'base' [15:33:53.845] | : . | : Locate function ... done [15:33:53.846] | : . | parse_call() ... done [15:33:53.847] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.848] | : . | sapply [15:33:53.849] | : . Finding call to be transpiled ... done [15:33:53.850] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:53.851] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.852] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:53.853] | : . | Transpiler function: [15:33:53.854] | : . | function (expr, options = NULL) [15:33:53.854] | : . | { [15:33:53.854] | : . | call <- make_call("future_sapply") [15:33:53.854] | : . | fcn <- eval(call) [15:33:53.854] | : . | expr[[1]] <- call [15:33:53.854] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.854] | : . | { [15:33:53.854] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.854] | : . | if (is.null(defaults_base)) { [15:33:53.854] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.854] | : . | } [15:33:53.854] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.854] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.854] | : . | defaults <- defaults[keep] [15:33:53.854] | : . | specified <- attr(options, "specified") [15:33:53.854] | : . | if (length(specified) > 0) { [15:33:53.854] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.854] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.854] | : . | names(options)) [15:33:53.854] | : . | } [15:33:53.854] | : . | specified <- sprintf("future.%s", specified) [15:33:53.854] | : . | names <- setdiff(names(defaults), specified) [15:33:53.854] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.854] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.854] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.854] | : . | options <- options[keep] [15:33:53.854] | : . | options [15:33:53.854] | : . | })(options, fcn)) [15:33:53.854] | : . | expr <- as.call(parts) [15:33:53.854] | : . | expr [15:33:53.854] | : . | } [15:33:53.854] | : . | [15:33:53.856] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:53.857] | : get_transpiler() ... done [15:33:53.858] | : Transpile call expression ... [15:33:53.860] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:53.860] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:53.860] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:33:53.862] | : Transpile call expression ... done [15:33:53.863] | : Evaluate transpiled call expression [15:33:53.928] | transpile() ... done [15:33:53.929] futurize() ... done character(0) [15:33:53.931] futurize() ... [15:33:53.932] | transpile() ... [15:33:53.933] | : get_transpiler() ... [15:33:53.933] | : . Finding call to be transpiled ... [15:33:53.934] | : . | descend_wrappers() ... [15:33:53.935] | : . | : Call: [15:33:53.935] | : . | : sapply [15:33:53.936] | : . | : parse_call() ... [15:33:53.936] | : . | : . Function: sapply(...) [15:33:53.937] | : . | : . Locate function ... [15:33:53.937] | : . | : . | Function located in: 'base' [15:33:53.938] | : . | : . Locate function ... done [15:33:53.938] | : . | : parse_call() ... done [15:33:53.939] | : . | descend_wrappers() ... done [15:33:53.939] | : . | parse_call() ... [15:33:53.940] | : . | : Function: sapply(...) [15:33:53.940] | : . | : Locate function ... [15:33:53.941] | : . | : . Function located in: 'base' [15:33:53.941] | : . | : Locate function ... done [15:33:53.942] | : . | parse_call() ... done [15:33:53.943] | : . | Position of call to be transpiled in expression: c(1) [15:33:53.943] | : . | sapply [15:33:53.944] | : . Finding call to be transpiled ... done [15:33:53.945] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:53.946] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:53.946] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:53.947] | : . | Transpiler function: [15:33:53.948] | : . | function (expr, options = NULL) [15:33:53.948] | : . | { [15:33:53.948] | : . | call <- make_call("future_sapply") [15:33:53.948] | : . | fcn <- eval(call) [15:33:53.948] | : . | expr[[1]] <- call [15:33:53.948] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:53.948] | : . | { [15:33:53.948] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:53.948] | : . | if (is.null(defaults_base)) { [15:33:53.948] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:53.948] | : . | } [15:33:53.948] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:53.948] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:53.948] | : . | defaults <- defaults[keep] [15:33:53.948] | : . | specified <- attr(options, "specified") [15:33:53.948] | : . | if (length(specified) > 0) { [15:33:53.948] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:53.948] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:53.948] | : . | names(options)) [15:33:53.948] | : . | } [15:33:53.948] | : . | specified <- sprintf("future.%s", specified) [15:33:53.948] | : . | names <- setdiff(names(defaults), specified) [15:33:53.948] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:53.948] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:53.948] | : . | keep <- intersect(names(options), names(defaults)) [15:33:53.948] | : . | options <- options[keep] [15:33:53.948] | : . | options [15:33:53.948] | : . | })(options, fcn)) [15:33:53.948] | : . | expr <- as.call(parts) [15:33:53.948] | : . | expr [15:33:53.948] | : . | } [15:33:53.948] | : . | [15:33:53.949] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:53.950] | : get_transpiler() ... done [15:33:53.950] | : Transpile call expression ... [15:33:53.951] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:53.951] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:53.951] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [15:33:53.953] | : Transpile call expression ... done [15:33:53.953] | : Evaluate transpiled call expression [15:33:54.097] | transpile() ... done [15:33:54.098] futurize() ... done Test with RNG: futurize(sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [15:33:54.100] futurize() ... [15:33:54.101] | transpile() ... [15:33:54.102] | : get_transpiler() ... [15:33:54.103] | : . Finding call to be transpiled ... [15:33:54.104] | : . | descend_wrappers() ... [15:33:54.105] | : . | : Call: [15:33:54.106] | : . | : sapply [15:33:54.107] | : . | : parse_call() ... [15:33:54.108] | : . | : . Function: sapply(...) [15:33:54.109] | : . | : . Locate function ... [15:33:54.110] | : . | : . | Function located in: 'base' [15:33:54.111] | : . | : . Locate function ... done [15:33:54.112] | : . | : parse_call() ... done [15:33:54.113] | : . | descend_wrappers() ... done [15:33:54.114] | : . | parse_call() ... [15:33:54.115] | : . | : Function: sapply(...) [15:33:54.116] | : . | : Locate function ... [15:33:54.117] | : . | : . Function located in: 'base' [15:33:54.118] | : . | : Locate function ... done [15:33:54.119] | : . | parse_call() ... done [15:33:54.120] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.121] | : . | sapply [15:33:54.122] | : . Finding call to be transpiled ... done [15:33:54.123] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.123] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.124] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.125] | : . | Transpiler function: [15:33:54.126] | : . | function (expr, options = NULL) [15:33:54.126] | : . | { [15:33:54.126] | : . | call <- make_call("future_sapply") [15:33:54.126] | : . | fcn <- eval(call) [15:33:54.126] | : . | expr[[1]] <- call [15:33:54.126] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.126] | : . | { [15:33:54.126] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.126] | : . | if (is.null(defaults_base)) { [15:33:54.126] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.126] | : . | } [15:33:54.126] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.126] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.126] | : . | defaults <- defaults[keep] [15:33:54.126] | : . | specified <- attr(options, "specified") [15:33:54.126] | : . | if (length(specified) > 0) { [15:33:54.126] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.126] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.126] | : . | names(options)) [15:33:54.126] | : . | } [15:33:54.126] | : . | specified <- sprintf("future.%s", specified) [15:33:54.126] | : . | names <- setdiff(names(defaults), specified) [15:33:54.126] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.126] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.126] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.126] | : . | options <- options[keep] [15:33:54.126] | : . | options [15:33:54.126] | : . | })(options, fcn)) [15:33:54.126] | : . | expr <- as.call(parts) [15:33:54.126] | : . | expr [15:33:54.126] | : . | } [15:33:54.126] | : . | [15:33:54.128] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.129] | : get_transpiler() ... done [15:33:54.130] | : Transpile call expression ... [15:33:54.131] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [15:33:54.131] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:54.131] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:33:54.133] | : Transpile call expression ... done [15:33:54.134] | : Evaluate transpiled call expression [15:33:54.208] | transpile() ... done [15:33:54.209] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN) --------------------------------- [15:33:54.211] futurize() ... [15:33:54.212] | transpile() ... [15:33:54.213] | : get_transpiler() ... [15:33:54.214] | : . Finding call to be transpiled ... [15:33:54.215] | : . | descend_wrappers() ... [15:33:54.216] | : . | : Call: [15:33:54.216] | : . | : base::sapply [15:33:54.217] | : . | : parse_call() ... [15:33:54.218] | : . | : . Function: base::sapply(...) [15:33:54.219] | : . | : parse_call() ... done [15:33:54.220] | : . | descend_wrappers() ... done [15:33:54.221] | : . | parse_call() ... [15:33:54.222] | : . | : Function: base::sapply(...) [15:33:54.223] | : . | parse_call() ... done [15:33:54.224] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.225] | : . | base::sapply [15:33:54.226] | : . Finding call to be transpiled ... done [15:33:54.227] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.228] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.229] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.230] | : . | Transpiler function: [15:33:54.230] | : . | function (expr, options = NULL) [15:33:54.230] | : . | { [15:33:54.230] | : . | call <- make_call("future_sapply") [15:33:54.230] | : . | fcn <- eval(call) [15:33:54.230] | : . | expr[[1]] <- call [15:33:54.230] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.230] | : . | { [15:33:54.230] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.230] | : . | if (is.null(defaults_base)) { [15:33:54.230] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.230] | : . | } [15:33:54.230] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.230] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.230] | : . | defaults <- defaults[keep] [15:33:54.230] | : . | specified <- attr(options, "specified") [15:33:54.230] | : . | if (length(specified) > 0) { [15:33:54.230] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.230] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.230] | : . | names(options)) [15:33:54.230] | : . | } [15:33:54.230] | : . | specified <- sprintf("future.%s", specified) [15:33:54.230] | : . | names <- setdiff(names(defaults), specified) [15:33:54.230] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.230] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.230] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.230] | : . | options <- options[keep] [15:33:54.230] | : . | options [15:33:54.230] | : . | })(options, fcn)) [15:33:54.230] | : . | expr <- as.call(parts) [15:33:54.230] | : . | expr [15:33:54.230] | : . | } [15:33:54.230] | : . | [15:33:54.232] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.233] | : get_transpiler() ... done [15:33:54.234] | : Transpile call expression ... [15:33:54.236] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:54.236] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:54.236] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:33:54.238] | : Transpile call expression ... done [15:33:54.239] | : Evaluate transpiled call expression [15:33:54.290] | transpile() ... done [15:33:54.291] futurize() ... done Futures created: 2 [15:33:54.292] futurize() ... [15:33:54.293] | transpile() ... [15:33:54.294] | : get_transpiler() ... [15:33:54.295] | : . Finding call to be transpiled ... [15:33:54.296] | : . | descend_wrappers() ... [15:33:54.296] | : . | : Call: [15:33:54.297] | : . | : base::sapply [15:33:54.298] | : . | : parse_call() ... [15:33:54.299] | : . | : . Function: base::sapply(...) [15:33:54.300] | : . | : parse_call() ... done [15:33:54.300] | : . | descend_wrappers() ... done [15:33:54.301] | : . | parse_call() ... [15:33:54.302] | : . | : Function: base::sapply(...) [15:33:54.303] | : . | parse_call() ... done [15:33:54.304] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.304] | : . | base::sapply [15:33:54.305] | : . Finding call to be transpiled ... done [15:33:54.306] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.307] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.308] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.308] | : . | Transpiler function: [15:33:54.309] | : . | function (expr, options = NULL) [15:33:54.309] | : . | { [15:33:54.309] | : . | call <- make_call("future_sapply") [15:33:54.309] | : . | fcn <- eval(call) [15:33:54.309] | : . | expr[[1]] <- call [15:33:54.309] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.309] | : . | { [15:33:54.309] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.309] | : . | if (is.null(defaults_base)) { [15:33:54.309] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.309] | : . | } [15:33:54.309] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.309] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.309] | : . | defaults <- defaults[keep] [15:33:54.309] | : . | specified <- attr(options, "specified") [15:33:54.309] | : . | if (length(specified) > 0) { [15:33:54.309] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.309] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.309] | : . | names(options)) [15:33:54.309] | : . | } [15:33:54.309] | : . | specified <- sprintf("future.%s", specified) [15:33:54.309] | : . | names <- setdiff(names(defaults), specified) [15:33:54.309] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.309] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.309] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.309] | : . | options <- options[keep] [15:33:54.309] | : . | options [15:33:54.309] | : . | })(options, fcn)) [15:33:54.309] | : . | expr <- as.call(parts) [15:33:54.309] | : . | expr [15:33:54.309] | : . | } [15:33:54.309] | : . | [15:33:54.310] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.311] | : get_transpiler() ... done [15:33:54.312] | : Transpile call expression ... [15:33:54.313] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:54.313] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:54.313] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:33:54.314] | : Transpile call expression ... done [15:33:54.315] | : Evaluate transpiled call expression [15:33:54.374] | transpile() ... done [15:33:54.375] futurize() ... done character(0) [15:33:54.376] futurize() ... [15:33:54.377] | transpile() ... [15:33:54.378] | : get_transpiler() ... [15:33:54.379] | : . Finding call to be transpiled ... [15:33:54.379] | : . | descend_wrappers() ... [15:33:54.380] | : . | : Call: [15:33:54.381] | : . | : base::sapply [15:33:54.382] | : . | : parse_call() ... [15:33:54.383] | : . | : . Function: base::sapply(...) [15:33:54.384] | : . | : parse_call() ... done [15:33:54.385] | : . | descend_wrappers() ... done [15:33:54.386] | : . | parse_call() ... [15:33:54.387] | : . | : Function: base::sapply(...) [15:33:54.388] | : . | parse_call() ... done [15:33:54.389] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.390] | : . | base::sapply [15:33:54.391] | : . Finding call to be transpiled ... done [15:33:54.392] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.393] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.393] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.394] | : . | Transpiler function: [15:33:54.395] | : . | function (expr, options = NULL) [15:33:54.395] | : . | { [15:33:54.395] | : . | call <- make_call("future_sapply") [15:33:54.395] | : . | fcn <- eval(call) [15:33:54.395] | : . | expr[[1]] <- call [15:33:54.395] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.395] | : . | { [15:33:54.395] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.395] | : . | if (is.null(defaults_base)) { [15:33:54.395] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.395] | : . | } [15:33:54.395] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.395] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.395] | : . | defaults <- defaults[keep] [15:33:54.395] | : . | specified <- attr(options, "specified") [15:33:54.395] | : . | if (length(specified) > 0) { [15:33:54.395] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.395] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.395] | : . | names(options)) [15:33:54.395] | : . | } [15:33:54.395] | : . | specified <- sprintf("future.%s", specified) [15:33:54.395] | : . | names <- setdiff(names(defaults), specified) [15:33:54.395] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.395] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.395] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.395] | : . | options <- options[keep] [15:33:54.395] | : . | options [15:33:54.395] | : . | })(options, fcn)) [15:33:54.395] | : . | expr <- as.call(parts) [15:33:54.395] | : . | expr [15:33:54.395] | : . | } [15:33:54.395] | : . | [15:33:54.396] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.397] | : get_transpiler() ... done [15:33:54.398] | : Transpile call expression ... [15:33:54.399] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:54.399] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:54.399] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [15:33:54.401] | : Transpile call expression ... done [15:33:54.402] | : Evaluate transpiled call expression [15:33:54.567] | transpile() ... done [15:33:54.568] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "add-on") [15:33:54.570] futurize() ... [15:33:54.571] | transpile() ... [15:33:54.576] | : get_transpiler() ... [15:33:54.577] | : . Finding call to be transpiled ... [15:33:54.578] | : . | descend_wrappers() ... [15:33:54.579] | : . | : Call: [15:33:54.580] | : . | : base::sapply [15:33:54.582] | : . | : parse_call() ... [15:33:54.583] | : . | : . Function: base::sapply(...) [15:33:54.584] | : . | : parse_call() ... done [15:33:54.585] | : . | descend_wrappers() ... done [15:33:54.586] | : . | parse_call() ... [15:33:54.587] | : . | : Function: base::sapply(...) [15:33:54.588] | : . | parse_call() ... done [15:33:54.589] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.591] | : . | base::sapply [15:33:54.592] | : . Finding call to be transpiled ... done [15:33:54.593] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.594] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.595] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.597] | : . | Transpiler function: [15:33:54.598] | : . | function (expr, options = NULL) [15:33:54.598] | : . | { [15:33:54.598] | : . | call <- make_call("future_sapply") [15:33:54.598] | : . | fcn <- eval(call) [15:33:54.598] | : . | expr[[1]] <- call [15:33:54.598] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.598] | : . | { [15:33:54.598] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.598] | : . | if (is.null(defaults_base)) { [15:33:54.598] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.598] | : . | } [15:33:54.598] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.598] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.598] | : . | defaults <- defaults[keep] [15:33:54.598] | : . | specified <- attr(options, "specified") [15:33:54.598] | : . | if (length(specified) > 0) { [15:33:54.598] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.598] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.598] | : . | names(options)) [15:33:54.598] | : . | } [15:33:54.598] | : . | specified <- sprintf("future.%s", specified) [15:33:54.598] | : . | names <- setdiff(names(defaults), specified) [15:33:54.598] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.598] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.598] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.598] | : . | options <- options[keep] [15:33:54.598] | : . | options [15:33:54.598] | : . | })(options, fcn)) [15:33:54.598] | : . | expr <- as.call(parts) [15:33:54.598] | : . | expr [15:33:54.598] | : . | } [15:33:54.598] | : . | [15:33:54.600] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.601] | : get_transpiler() ... done [15:33:54.602] | : Transpile call expression ... [15:33:54.604] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [15:33:54.604] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:54.604] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:33:54.606] | : Transpile call expression ... done [15:33:54.607] | : Evaluate transpiled call expression [15:33:54.678] | transpile() ... done [15:33:54.679] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, simplify = FALSE) --------------------------------- [15:33:54.681] futurize() ... [15:33:54.682] | transpile() ... [15:33:54.683] | : get_transpiler() ... [15:33:54.684] | : . Finding call to be transpiled ... [15:33:54.685] | : . | descend_wrappers() ... [15:33:54.686] | : . | : Call: [15:33:54.686] | : . | : base::sapply [15:33:54.688] | : . | : parse_call() ... [15:33:54.688] | : . | : . Function: base::sapply(...) [15:33:54.689] | : . | : parse_call() ... done [15:33:54.690] | : . | descend_wrappers() ... done [15:33:54.691] | : . | parse_call() ... [15:33:54.692] | : . | : Function: base::sapply(...) [15:33:54.693] | : . | parse_call() ... done [15:33:54.694] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.695] | : . | base::sapply [15:33:54.696] | : . Finding call to be transpiled ... done [15:33:54.696] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.697] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.698] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.699] | : . | Transpiler function: [15:33:54.700] | : . | function (expr, options = NULL) [15:33:54.700] | : . | { [15:33:54.700] | : . | call <- make_call("future_sapply") [15:33:54.700] | : . | fcn <- eval(call) [15:33:54.700] | : . | expr[[1]] <- call [15:33:54.700] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.700] | : . | { [15:33:54.700] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.700] | : . | if (is.null(defaults_base)) { [15:33:54.700] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.700] | : . | } [15:33:54.700] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.700] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.700] | : . | defaults <- defaults[keep] [15:33:54.700] | : . | specified <- attr(options, "specified") [15:33:54.700] | : . | if (length(specified) > 0) { [15:33:54.700] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.700] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.700] | : . | names(options)) [15:33:54.700] | : . | } [15:33:54.700] | : . | specified <- sprintf("future.%s", specified) [15:33:54.700] | : . | names <- setdiff(names(defaults), specified) [15:33:54.700] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.700] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.700] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.700] | : . | options <- options[keep] [15:33:54.700] | : . | options [15:33:54.700] | : . | })(options, fcn)) [15:33:54.700] | : . | expr <- as.call(parts) [15:33:54.700] | : . | expr [15:33:54.700] | : . | } [15:33:54.700] | : . | [15:33:54.702] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.703] | : get_transpiler() ... done [15:33:54.703] | : Transpile call expression ... [15:33:54.705] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:33:54.705] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:54.705] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:33:54.707] | : Transpile call expression ... done [15:33:54.708] | : Evaluate transpiled call expression [15:33:54.759] | transpile() ... done [15:33:54.760] futurize() ... done Futures created: 2 [15:33:54.761] futurize() ... [15:33:54.763] | transpile() ... [15:33:54.764] | : get_transpiler() ... [15:33:54.764] | : . Finding call to be transpiled ... [15:33:54.765] | : . | descend_wrappers() ... [15:33:54.766] | : . | : Call: [15:33:54.767] | : . | : base::sapply [15:33:54.768] | : . | : parse_call() ... [15:33:54.769] | : . | : . Function: base::sapply(...) [15:33:54.770] | : . | : parse_call() ... done [15:33:54.771] | : . | descend_wrappers() ... done [15:33:54.771] | : . | parse_call() ... [15:33:54.772] | : . | : Function: base::sapply(...) [15:33:54.773] | : . | parse_call() ... done [15:33:54.774] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.775] | : . | base::sapply [15:33:54.776] | : . Finding call to be transpiled ... done [15:33:54.777] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.778] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.778] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.779] | : . | Transpiler function: [15:33:54.780] | : . | function (expr, options = NULL) [15:33:54.780] | : . | { [15:33:54.780] | : . | call <- make_call("future_sapply") [15:33:54.780] | : . | fcn <- eval(call) [15:33:54.780] | : . | expr[[1]] <- call [15:33:54.780] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.780] | : . | { [15:33:54.780] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.780] | : . | if (is.null(defaults_base)) { [15:33:54.780] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.780] | : . | } [15:33:54.780] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.780] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.780] | : . | defaults <- defaults[keep] [15:33:54.780] | : . | specified <- attr(options, "specified") [15:33:54.780] | : . | if (length(specified) > 0) { [15:33:54.780] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.780] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.780] | : . | names(options)) [15:33:54.780] | : . | } [15:33:54.780] | : . | specified <- sprintf("future.%s", specified) [15:33:54.780] | : . | names <- setdiff(names(defaults), specified) [15:33:54.780] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.780] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.780] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.780] | : . | options <- options[keep] [15:33:54.780] | : . | options [15:33:54.780] | : . | })(options, fcn)) [15:33:54.780] | : . | expr <- as.call(parts) [15:33:54.780] | : . | expr [15:33:54.780] | : . | } [15:33:54.780] | : . | [15:33:54.781] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.782] | : get_transpiler() ... done [15:33:54.783] | : Transpile call expression ... [15:33:54.784] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:33:54.784] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:33:54.784] | : . future.conditions = character(0), future.scheduling = 1, [15:33:54.784] | : . future.label = "future_sapply-%d") [15:33:54.786] | : Transpile call expression ... done [15:33:54.787] | : Evaluate transpiled call expression [15:33:54.842] | transpile() ... done [15:33:54.843] futurize() ... done character(0) [15:33:54.845] futurize() ... [15:33:54.846] | transpile() ... [15:33:54.847] | : get_transpiler() ... [15:33:54.848] | : . Finding call to be transpiled ... [15:33:54.849] | : . | descend_wrappers() ... [15:33:54.850] | : . | : Call: [15:33:54.850] | : . | : base::sapply [15:33:54.852] | : . | : parse_call() ... [15:33:54.853] | : . | : . Function: base::sapply(...) [15:33:54.854] | : . | : parse_call() ... done [15:33:54.855] | : . | descend_wrappers() ... done [15:33:54.856] | : . | parse_call() ... [15:33:54.857] | : . | : Function: base::sapply(...) [15:33:54.858] | : . | parse_call() ... done [15:33:54.858] | : . | Position of call to be transpiled in expression: c(1) [15:33:54.859] | : . | base::sapply [15:33:54.860] | : . Finding call to be transpiled ... done [15:33:54.861] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:54.862] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:54.863] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:54.864] | : . | Transpiler function: [15:33:54.865] | : . | function (expr, options = NULL) [15:33:54.865] | : . | { [15:33:54.865] | : . | call <- make_call("future_sapply") [15:33:54.865] | : . | fcn <- eval(call) [15:33:54.865] | : . | expr[[1]] <- call [15:33:54.865] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:54.865] | : . | { [15:33:54.865] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:54.865] | : . | if (is.null(defaults_base)) { [15:33:54.865] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:54.865] | : . | } [15:33:54.865] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:54.865] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:54.865] | : . | defaults <- defaults[keep] [15:33:54.865] | : . | specified <- attr(options, "specified") [15:33:54.865] | : . | if (length(specified) > 0) { [15:33:54.865] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:54.865] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:54.865] | : . | names(options)) [15:33:54.865] | : . | } [15:33:54.865] | : . | specified <- sprintf("future.%s", specified) [15:33:54.865] | : . | names <- setdiff(names(defaults), specified) [15:33:54.865] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:54.865] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:54.865] | : . | keep <- intersect(names(options), names(defaults)) [15:33:54.865] | : . | options <- options[keep] [15:33:54.865] | : . | options [15:33:54.865] | : . | })(options, fcn)) [15:33:54.865] | : . | expr <- as.call(parts) [15:33:54.865] | : . | expr [15:33:54.865] | : . | } [15:33:54.865] | : . | [15:33:54.867] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:54.868] | : get_transpiler() ... done [15:33:54.869] | : Transpile call expression ... [15:33:54.870] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:33:54.870] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:54.870] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:33:54.870] | : . future.label = "future_sapply-%d") [15:33:54.872] | : Transpile call expression ... done [15:33:54.873] | : Evaluate transpiled call expression [15:33:55.033] | transpile() ... done [15:33:55.035] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, simplify = FALSE), seed = TRUE, flavor = "add-on") [15:33:55.036] futurize() ... [15:33:55.037] | transpile() ... [15:33:55.038] | : get_transpiler() ... [15:33:55.039] | : . Finding call to be transpiled ... [15:33:55.040] | : . | descend_wrappers() ... [15:33:55.041] | : . | : Call: [15:33:55.042] | : . | : base::sapply [15:33:55.043] | : . | : parse_call() ... [15:33:55.044] | : . | : . Function: base::sapply(...) [15:33:55.045] | : . | : parse_call() ... done [15:33:55.046] | : . | descend_wrappers() ... done [15:33:55.047] | : . | parse_call() ... [15:33:55.048] | : . | : Function: base::sapply(...) [15:33:55.049] | : . | parse_call() ... done [15:33:55.050] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.051] | : . | base::sapply [15:33:55.052] | : . Finding call to be transpiled ... done [15:33:55.053] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:55.054] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.055] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:55.056] | : . | Transpiler function: [15:33:55.057] | : . | function (expr, options = NULL) [15:33:55.057] | : . | { [15:33:55.057] | : . | call <- make_call("future_sapply") [15:33:55.057] | : . | fcn <- eval(call) [15:33:55.057] | : . | expr[[1]] <- call [15:33:55.057] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.057] | : . | { [15:33:55.057] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.057] | : . | if (is.null(defaults_base)) { [15:33:55.057] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.057] | : . | } [15:33:55.057] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.057] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.057] | : . | defaults <- defaults[keep] [15:33:55.057] | : . | specified <- attr(options, "specified") [15:33:55.057] | : . | if (length(specified) > 0) { [15:33:55.057] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.057] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.057] | : . | names(options)) [15:33:55.057] | : . | } [15:33:55.057] | : . | specified <- sprintf("future.%s", specified) [15:33:55.057] | : . | names <- setdiff(names(defaults), specified) [15:33:55.057] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.057] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.057] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.057] | : . | options <- options[keep] [15:33:55.057] | : . | options [15:33:55.057] | : . | })(options, fcn)) [15:33:55.057] | : . | expr <- as.call(parts) [15:33:55.057] | : . | expr [15:33:55.057] | : . | } [15:33:55.057] | : . | [15:33:55.060] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:55.061] | : get_transpiler() ... done [15:33:55.062] | : Transpile call expression ... [15:33:55.064] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:33:55.064] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:33:55.064] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:33:55.067] | : Transpile call expression ... done [15:33:55.068] | : Evaluate transpiled call expression [15:33:55.158] | transpile() ... done [15:33:55.159] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [15:33:55.162] futurize() ... [15:33:55.164] | transpile() ... [15:33:55.165] | : get_transpiler() ... [15:33:55.166] | : . Finding call to be transpiled ... [15:33:55.167] | : . | descend_wrappers() ... [15:33:55.168] | : . | : Call: [15:33:55.169] | : . | : base::sapply [15:33:55.171] | : . | : parse_call() ... [15:33:55.172] | : . | : . Function: base::sapply(...) [15:33:55.173] | : . | : parse_call() ... done [15:33:55.174] | : . | descend_wrappers() ... done [15:33:55.175] | : . | parse_call() ... [15:33:55.177] | : . | : Function: base::sapply(...) [15:33:55.178] | : . | parse_call() ... done [15:33:55.179] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.180] | : . | base::sapply [15:33:55.182] | : . Finding call to be transpiled ... done [15:33:55.183] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:55.184] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.185] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:55.186] | : . | Transpiler function: [15:33:55.187] | : . | function (expr, options = NULL) [15:33:55.187] | : . | { [15:33:55.187] | : . | call <- make_call("future_sapply") [15:33:55.187] | : . | fcn <- eval(call) [15:33:55.187] | : . | expr[[1]] <- call [15:33:55.187] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.187] | : . | { [15:33:55.187] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.187] | : . | if (is.null(defaults_base)) { [15:33:55.187] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.187] | : . | } [15:33:55.187] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.187] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.187] | : . | defaults <- defaults[keep] [15:33:55.187] | : . | specified <- attr(options, "specified") [15:33:55.187] | : . | if (length(specified) > 0) { [15:33:55.187] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.187] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.187] | : . | names(options)) [15:33:55.187] | : . | } [15:33:55.187] | : . | specified <- sprintf("future.%s", specified) [15:33:55.187] | : . | names <- setdiff(names(defaults), specified) [15:33:55.187] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.187] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.187] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.187] | : . | options <- options[keep] [15:33:55.187] | : . | options [15:33:55.187] | : . | })(options, fcn)) [15:33:55.187] | : . | expr <- as.call(parts) [15:33:55.187] | : . | expr [15:33:55.187] | : . | } [15:33:55.187] | : . | [15:33:55.189] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:55.191] | : get_transpiler() ... done [15:33:55.192] | : Transpile call expression ... [15:33:55.193] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:33:55.193] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:55.193] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:33:55.196] | : Transpile call expression ... done [15:33:55.197] | : Evaluate transpiled call expression [15:33:55.255] | transpile() ... done [15:33:55.256] futurize() ... done Futures created: 2 [15:33:55.258] futurize() ... [15:33:55.259] | transpile() ... [15:33:55.260] | : get_transpiler() ... [15:33:55.261] | : . Finding call to be transpiled ... [15:33:55.261] | : . | descend_wrappers() ... [15:33:55.262] | : . | : Call: [15:33:55.263] | : . | : base::sapply [15:33:55.264] | : . | : parse_call() ... [15:33:55.266] | : . | : . Function: base::sapply(...) [15:33:55.267] | : . | : parse_call() ... done [15:33:55.268] | : . | descend_wrappers() ... done [15:33:55.268] | : . | parse_call() ... [15:33:55.269] | : . | : Function: base::sapply(...) [15:33:55.270] | : . | parse_call() ... done [15:33:55.271] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.272] | : . | base::sapply [15:33:55.273] | : . Finding call to be transpiled ... done [15:33:55.274] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:55.275] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.276] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:55.276] | : . | Transpiler function: [15:33:55.277] | : . | function (expr, options = NULL) [15:33:55.277] | : . | { [15:33:55.277] | : . | call <- make_call("future_sapply") [15:33:55.277] | : . | fcn <- eval(call) [15:33:55.277] | : . | expr[[1]] <- call [15:33:55.277] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.277] | : . | { [15:33:55.277] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.277] | : . | if (is.null(defaults_base)) { [15:33:55.277] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.277] | : . | } [15:33:55.277] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.277] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.277] | : . | defaults <- defaults[keep] [15:33:55.277] | : . | specified <- attr(options, "specified") [15:33:55.277] | : . | if (length(specified) > 0) { [15:33:55.277] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.277] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.277] | : . | names(options)) [15:33:55.277] | : . | } [15:33:55.277] | : . | specified <- sprintf("future.%s", specified) [15:33:55.277] | : . | names <- setdiff(names(defaults), specified) [15:33:55.277] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.277] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.277] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.277] | : . | options <- options[keep] [15:33:55.277] | : . | options [15:33:55.277] | : . | })(options, fcn)) [15:33:55.277] | : . | expr <- as.call(parts) [15:33:55.277] | : . | expr [15:33:55.277] | : . | } [15:33:55.277] | : . | [15:33:55.279] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:55.280] | : get_transpiler() ... done [15:33:55.281] | : Transpile call expression ... [15:33:55.282] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:33:55.282] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:33:55.282] | : . future.conditions = character(0), future.scheduling = 1, [15:33:55.282] | : . future.label = "future_sapply-%d") [15:33:55.284] | : Transpile call expression ... done [15:33:55.285] | : Evaluate transpiled call expression [15:33:55.346] | transpile() ... done [15:33:55.347] futurize() ... done character(0) [15:33:55.349] futurize() ... [15:33:55.350] | transpile() ... [15:33:55.351] | : get_transpiler() ... [15:33:55.352] | : . Finding call to be transpiled ... [15:33:55.353] | : . | descend_wrappers() ... [15:33:55.353] | : . | : Call: [15:33:55.354] | : . | : base::sapply [15:33:55.355] | : . | : parse_call() ... [15:33:55.356] | : . | : . Function: base::sapply(...) [15:33:55.357] | : . | : parse_call() ... done [15:33:55.358] | : . | descend_wrappers() ... done [15:33:55.359] | : . | parse_call() ... [15:33:55.360] | : . | : Function: base::sapply(...) [15:33:55.361] | : . | parse_call() ... done [15:33:55.362] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.363] | : . | base::sapply [15:33:55.364] | : . Finding call to be transpiled ... done [15:33:55.364] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:55.365] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.366] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:55.367] | : . | Transpiler function: [15:33:55.368] | : . | function (expr, options = NULL) [15:33:55.368] | : . | { [15:33:55.368] | : . | call <- make_call("future_sapply") [15:33:55.368] | : . | fcn <- eval(call) [15:33:55.368] | : . | expr[[1]] <- call [15:33:55.368] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.368] | : . | { [15:33:55.368] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.368] | : . | if (is.null(defaults_base)) { [15:33:55.368] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.368] | : . | } [15:33:55.368] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.368] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.368] | : . | defaults <- defaults[keep] [15:33:55.368] | : . | specified <- attr(options, "specified") [15:33:55.368] | : . | if (length(specified) > 0) { [15:33:55.368] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.368] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.368] | : . | names(options)) [15:33:55.368] | : . | } [15:33:55.368] | : . | specified <- sprintf("future.%s", specified) [15:33:55.368] | : . | names <- setdiff(names(defaults), specified) [15:33:55.368] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.368] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.368] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.368] | : . | options <- options[keep] [15:33:55.368] | : . | options [15:33:55.368] | : . | })(options, fcn)) [15:33:55.368] | : . | expr <- as.call(parts) [15:33:55.368] | : . | expr [15:33:55.368] | : . | } [15:33:55.368] | : . | [15:33:55.369] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:55.370] | : get_transpiler() ... done [15:33:55.371] | : Transpile call expression ... [15:33:55.372] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:33:55.372] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:55.372] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:33:55.372] | : . future.label = "future_sapply-%d") [15:33:55.374] | : Transpile call expression ... done [15:33:55.375] | : Evaluate transpiled call expression [15:33:55.520] | transpile() ... done [15:33:55.521] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [15:33:55.522] futurize() ... [15:33:55.523] | transpile() ... [15:33:55.524] | : get_transpiler() ... [15:33:55.525] | : . Finding call to be transpiled ... [15:33:55.525] | : . | descend_wrappers() ... [15:33:55.526] | : . | : Call: [15:33:55.527] | : . | : base::sapply [15:33:55.528] | : . | : parse_call() ... [15:33:55.529] | : . | : . Function: base::sapply(...) [15:33:55.530] | : . | : parse_call() ... done [15:33:55.531] | : . | descend_wrappers() ... done [15:33:55.531] | : . | parse_call() ... [15:33:55.532] | : . | : Function: base::sapply(...) [15:33:55.533] | : . | parse_call() ... done [15:33:55.534] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.535] | : . | base::sapply [15:33:55.536] | : . Finding call to be transpiled ... done [15:33:55.536] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:33:55.537] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.538] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:33:55.539] | : . | Transpiler function: [15:33:55.540] | : . | function (expr, options = NULL) [15:33:55.540] | : . | { [15:33:55.540] | : . | call <- make_call("future_sapply") [15:33:55.540] | : . | fcn <- eval(call) [15:33:55.540] | : . | expr[[1]] <- call [15:33:55.540] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.540] | : . | { [15:33:55.540] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.540] | : . | if (is.null(defaults_base)) { [15:33:55.540] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.540] | : . | } [15:33:55.540] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.540] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.540] | : . | defaults <- defaults[keep] [15:33:55.540] | : . | specified <- attr(options, "specified") [15:33:55.540] | : . | if (length(specified) > 0) { [15:33:55.540] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.540] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.540] | : . | names(options)) [15:33:55.540] | : . | } [15:33:55.540] | : . | specified <- sprintf("future.%s", specified) [15:33:55.540] | : . | names <- setdiff(names(defaults), specified) [15:33:55.540] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.540] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.540] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.540] | : . | options <- options[keep] [15:33:55.540] | : . | options [15:33:55.540] | : . | })(options, fcn)) [15:33:55.540] | : . | expr <- as.call(parts) [15:33:55.540] | : . | expr [15:33:55.540] | : . | } [15:33:55.540] | : . | [15:33:55.541] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:33:55.542] | : get_transpiler() ... done [15:33:55.543] | : Transpile call expression ... [15:33:55.544] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:33:55.544] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:33:55.544] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:33:55.546] | : Transpile call expression ... done [15:33:55.547] | : Evaluate transpiled call expression [15:33:55.615] | transpile() ... done [15:33:55.617] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN) --------------------------------- [15:33:55.619] futurize() ... [15:33:55.620] | transpile() ... [15:33:55.621] | : get_transpiler() ... [15:33:55.622] | : . Finding call to be transpiled ... [15:33:55.623] | : . | descend_wrappers() ... [15:33:55.624] | : . | : Call: [15:33:55.625] | : . | : base::vapply [15:33:55.626] | : . | : parse_call() ... [15:33:55.627] | : . | : . Function: base::vapply(...) [15:33:55.628] | : . | : parse_call() ... done [15:33:55.629] | : . | descend_wrappers() ... done [15:33:55.630] | : . | parse_call() ... [15:33:55.631] | : . | : Function: base::vapply(...) [15:33:55.632] | : . | parse_call() ... done [15:33:55.633] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.634] | : . | base::vapply [15:33:55.635] | : . Finding call to be transpiled ... done [15:33:55.636] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:55.636] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.637] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:55.638] | : . | Transpiler function: [15:33:55.639] | : . | function (expr, options = NULL) [15:33:55.639] | : . | { [15:33:55.639] | : . | call <- make_call("future_vapply") [15:33:55.639] | : . | fcn <- eval(call) [15:33:55.639] | : . | expr[[1]] <- call [15:33:55.639] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.639] | : . | { [15:33:55.639] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.639] | : . | if (is.null(defaults_base)) { [15:33:55.639] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.639] | : . | } [15:33:55.639] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.639] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.639] | : . | defaults <- defaults[keep] [15:33:55.639] | : . | specified <- attr(options, "specified") [15:33:55.639] | : . | if (length(specified) > 0) { [15:33:55.639] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.639] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.639] | : . | names(options)) [15:33:55.639] | : . | } [15:33:55.639] | : . | specified <- sprintf("future.%s", specified) [15:33:55.639] | : . | names <- setdiff(names(defaults), specified) [15:33:55.639] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.639] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.639] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.639] | : . | options <- options[keep] [15:33:55.639] | : . | options [15:33:55.639] | : . | })(options, fcn)) [15:33:55.639] | : . | expr <- as.call(parts) [15:33:55.639] | : . | expr [15:33:55.639] | : . | } [15:33:55.639] | : . | [15:33:55.641] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:55.642] | : get_transpiler() ... done [15:33:55.643] | : Transpile call expression ... [15:33:55.644] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:55.644] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:55.644] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [15:33:55.646] | : Transpile call expression ... done [15:33:55.647] | : Evaluate transpiled call expression [15:33:55.752] | transpile() ... done [15:33:55.753] futurize() ... done Futures created: 2 [15:33:55.754] futurize() ... [15:33:55.755] | transpile() ... [15:33:55.756] | : get_transpiler() ... [15:33:55.757] | : . Finding call to be transpiled ... [15:33:55.758] | : . | descend_wrappers() ... [15:33:55.759] | : . | : Call: [15:33:55.760] | : . | : base::vapply [15:33:55.761] | : . | : parse_call() ... [15:33:55.762] | : . | : . Function: base::vapply(...) [15:33:55.763] | : . | : parse_call() ... done [15:33:55.764] | : . | descend_wrappers() ... done [15:33:55.765] | : . | parse_call() ... [15:33:55.765] | : . | : Function: base::vapply(...) [15:33:55.766] | : . | parse_call() ... done [15:33:55.767] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.768] | : . | base::vapply [15:33:55.769] | : . Finding call to be transpiled ... done [15:33:55.770] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:55.770] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.771] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:55.772] | : . | Transpiler function: [15:33:55.773] | : . | function (expr, options = NULL) [15:33:55.773] | : . | { [15:33:55.773] | : . | call <- make_call("future_vapply") [15:33:55.773] | : . | fcn <- eval(call) [15:33:55.773] | : . | expr[[1]] <- call [15:33:55.773] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.773] | : . | { [15:33:55.773] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.773] | : . | if (is.null(defaults_base)) { [15:33:55.773] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.773] | : . | } [15:33:55.773] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.773] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.773] | : . | defaults <- defaults[keep] [15:33:55.773] | : . | specified <- attr(options, "specified") [15:33:55.773] | : . | if (length(specified) > 0) { [15:33:55.773] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.773] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.773] | : . | names(options)) [15:33:55.773] | : . | } [15:33:55.773] | : . | specified <- sprintf("future.%s", specified) [15:33:55.773] | : . | names <- setdiff(names(defaults), specified) [15:33:55.773] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.773] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.773] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.773] | : . | options <- options[keep] [15:33:55.773] | : . | options [15:33:55.773] | : . | })(options, fcn)) [15:33:55.773] | : . | expr <- as.call(parts) [15:33:55.773] | : . | expr [15:33:55.773] | : . | } [15:33:55.773] | : . | [15:33:55.774] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:55.775] | : get_transpiler() ... done [15:33:55.776] | : Transpile call expression ... [15:33:55.778] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:55.778] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:33:55.778] | : . future.conditions = character(0), future.scheduling = 1, [15:33:55.778] | : . future.label = "future_vapply-%d") [15:33:55.780] | : Transpile call expression ... done [15:33:55.780] | : Evaluate transpiled call expression [15:33:55.885] | transpile() ... done [15:33:55.886] futurize() ... done character(0) [15:33:55.887] futurize() ... [15:33:55.888] | transpile() ... [15:33:55.889] | : get_transpiler() ... [15:33:55.890] | : . Finding call to be transpiled ... [15:33:55.890] | : . | descend_wrappers() ... [15:33:55.891] | : . | : Call: [15:33:55.892] | : . | : base::vapply [15:33:55.893] | : . | : parse_call() ... [15:33:55.894] | : . | : . Function: base::vapply(...) [15:33:55.895] | : . | : parse_call() ... done [15:33:55.896] | : . | descend_wrappers() ... done [15:33:55.899] | : . | parse_call() ... [15:33:55.900] | : . | : Function: base::vapply(...) [15:33:55.901] | : . | parse_call() ... done [15:33:55.902] | : . | Position of call to be transpiled in expression: c(1) [15:33:55.903] | : . | base::vapply [15:33:55.903] | : . Finding call to be transpiled ... done [15:33:55.904] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:55.905] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:55.905] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:55.906] | : . | Transpiler function: [15:33:55.906] | : . | function (expr, options = NULL) [15:33:55.906] | : . | { [15:33:55.906] | : . | call <- make_call("future_vapply") [15:33:55.906] | : . | fcn <- eval(call) [15:33:55.906] | : . | expr[[1]] <- call [15:33:55.906] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:55.906] | : . | { [15:33:55.906] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:55.906] | : . | if (is.null(defaults_base)) { [15:33:55.906] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:55.906] | : . | } [15:33:55.906] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:55.906] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:55.906] | : . | defaults <- defaults[keep] [15:33:55.906] | : . | specified <- attr(options, "specified") [15:33:55.906] | : . | if (length(specified) > 0) { [15:33:55.906] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:55.906] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:55.906] | : . | names(options)) [15:33:55.906] | : . | } [15:33:55.906] | : . | specified <- sprintf("future.%s", specified) [15:33:55.906] | : . | names <- setdiff(names(defaults), specified) [15:33:55.906] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:55.906] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:55.906] | : . | keep <- intersect(names(options), names(defaults)) [15:33:55.906] | : . | options <- options[keep] [15:33:55.906] | : . | options [15:33:55.906] | : . | })(options, fcn)) [15:33:55.906] | : . | expr <- as.call(parts) [15:33:55.906] | : . | expr [15:33:55.906] | : . | } [15:33:55.906] | : . | [15:33:55.908] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:55.908] | : get_transpiler() ... done [15:33:55.909] | : Transpile call expression ... [15:33:55.910] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:55.910] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:55.910] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:33:55.910] | : . future.label = "future_vapply-%d") [15:33:55.912] | : Transpile call expression ... done [15:33:55.913] | : Evaluate transpiled call expression [15:33:56.097] | transpile() ... done [15:33:56.099] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN), seed = TRUE, flavor = "add-on") [15:33:56.100] futurize() ... [15:33:56.101] | transpile() ... [15:33:56.101] | : get_transpiler() ... [15:33:56.102] | : . Finding call to be transpiled ... [15:33:56.103] | : . | descend_wrappers() ... [15:33:56.104] | : . | : Call: [15:33:56.104] | : . | : base::vapply [15:33:56.105] | : . | : parse_call() ... [15:33:56.106] | : . | : . Function: base::vapply(...) [15:33:56.106] | : . | : parse_call() ... done [15:33:56.107] | : . | descend_wrappers() ... done [15:33:56.108] | : . | parse_call() ... [15:33:56.109] | : . | : Function: base::vapply(...) [15:33:56.110] | : . | parse_call() ... done [15:33:56.110] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.111] | : . | base::vapply [15:33:56.111] | : . Finding call to be transpiled ... done [15:33:56.112] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:56.113] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.113] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:56.114] | : . | Transpiler function: [15:33:56.114] | : . | function (expr, options = NULL) [15:33:56.114] | : . | { [15:33:56.114] | : . | call <- make_call("future_vapply") [15:33:56.114] | : . | fcn <- eval(call) [15:33:56.114] | : . | expr[[1]] <- call [15:33:56.114] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.114] | : . | { [15:33:56.114] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.114] | : . | if (is.null(defaults_base)) { [15:33:56.114] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.114] | : . | } [15:33:56.114] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.114] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.114] | : . | defaults <- defaults[keep] [15:33:56.114] | : . | specified <- attr(options, "specified") [15:33:56.114] | : . | if (length(specified) > 0) { [15:33:56.114] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.114] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.114] | : . | names(options)) [15:33:56.114] | : . | } [15:33:56.114] | : . | specified <- sprintf("future.%s", specified) [15:33:56.114] | : . | names <- setdiff(names(defaults), specified) [15:33:56.114] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.114] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.114] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.114] | : . | options <- options[keep] [15:33:56.114] | : . | options [15:33:56.114] | : . | })(options, fcn)) [15:33:56.114] | : . | expr <- as.call(parts) [15:33:56.114] | : . | expr [15:33:56.114] | : . | } [15:33:56.114] | : . | [15:33:56.115] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:56.116] | : get_transpiler() ... done [15:33:56.117] | : Transpile call expression ... [15:33:56.118] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:56.118] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:33:56.118] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [15:33:56.119] | : Transpile call expression ... done [15:33:56.120] | : Evaluate transpiled call expression [15:33:56.227] | transpile() ... done [15:33:56.228] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [15:33:56.230] futurize() ... [15:33:56.231] | transpile() ... [15:33:56.232] | : get_transpiler() ... [15:33:56.233] | : . Finding call to be transpiled ... [15:33:56.234] | : . | descend_wrappers() ... [15:33:56.235] | : . | : Call: [15:33:56.236] | : . | : base::vapply [15:33:56.237] | : . | : parse_call() ... [15:33:56.237] | : . | : . Function: base::vapply(...) [15:33:56.238] | : . | : parse_call() ... done [15:33:56.239] | : . | descend_wrappers() ... done [15:33:56.240] | : . | parse_call() ... [15:33:56.241] | : . | : Function: base::vapply(...) [15:33:56.241] | : . | parse_call() ... done [15:33:56.242] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.242] | : . | base::vapply [15:33:56.243] | : . Finding call to be transpiled ... done [15:33:56.244] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:56.245] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.245] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:56.246] | : . | Transpiler function: [15:33:56.247] | : . | function (expr, options = NULL) [15:33:56.247] | : . | { [15:33:56.247] | : . | call <- make_call("future_vapply") [15:33:56.247] | : . | fcn <- eval(call) [15:33:56.247] | : . | expr[[1]] <- call [15:33:56.247] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.247] | : . | { [15:33:56.247] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.247] | : . | if (is.null(defaults_base)) { [15:33:56.247] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.247] | : . | } [15:33:56.247] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.247] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.247] | : . | defaults <- defaults[keep] [15:33:56.247] | : . | specified <- attr(options, "specified") [15:33:56.247] | : . | if (length(specified) > 0) { [15:33:56.247] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.247] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.247] | : . | names(options)) [15:33:56.247] | : . | } [15:33:56.247] | : . | specified <- sprintf("future.%s", specified) [15:33:56.247] | : . | names <- setdiff(names(defaults), specified) [15:33:56.247] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.247] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.247] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.247] | : . | options <- options[keep] [15:33:56.247] | : . | options [15:33:56.247] | : . | })(options, fcn)) [15:33:56.247] | : . | expr <- as.call(parts) [15:33:56.247] | : . | expr [15:33:56.247] | : . | } [15:33:56.247] | : . | [15:33:56.249] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:56.249] | : get_transpiler() ... done [15:33:56.250] | : Transpile call expression ... [15:33:56.252] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:56.252] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [15:33:56.252] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:56.252] | : . future.label = "future_vapply-%d") [15:33:56.254] | : Transpile call expression ... done [15:33:56.254] | : Evaluate transpiled call expression [15:33:56.367] | transpile() ... done [15:33:56.368] futurize() ... done Futures created: 2 [15:33:56.370] futurize() ... [15:33:56.370] | transpile() ... [15:33:56.371] | : get_transpiler() ... [15:33:56.372] | : . Finding call to be transpiled ... [15:33:56.372] | : . | descend_wrappers() ... [15:33:56.373] | : . | : Call: [15:33:56.374] | : . | : base::vapply [15:33:56.374] | : . | : parse_call() ... [15:33:56.375] | : . | : . Function: base::vapply(...) [15:33:56.376] | : . | : parse_call() ... done [15:33:56.376] | : . | descend_wrappers() ... done [15:33:56.377] | : . | parse_call() ... [15:33:56.377] | : . | : Function: base::vapply(...) [15:33:56.378] | : . | parse_call() ... done [15:33:56.379] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.379] | : . | base::vapply [15:33:56.380] | : . Finding call to be transpiled ... done [15:33:56.381] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:56.382] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.383] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:56.383] | : . | Transpiler function: [15:33:56.384] | : . | function (expr, options = NULL) [15:33:56.384] | : . | { [15:33:56.384] | : . | call <- make_call("future_vapply") [15:33:56.384] | : . | fcn <- eval(call) [15:33:56.384] | : . | expr[[1]] <- call [15:33:56.384] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.384] | : . | { [15:33:56.384] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.384] | : . | if (is.null(defaults_base)) { [15:33:56.384] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.384] | : . | } [15:33:56.384] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.384] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.384] | : . | defaults <- defaults[keep] [15:33:56.384] | : . | specified <- attr(options, "specified") [15:33:56.384] | : . | if (length(specified) > 0) { [15:33:56.384] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.384] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.384] | : . | names(options)) [15:33:56.384] | : . | } [15:33:56.384] | : . | specified <- sprintf("future.%s", specified) [15:33:56.384] | : . | names <- setdiff(names(defaults), specified) [15:33:56.384] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.384] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.384] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.384] | : . | options <- options[keep] [15:33:56.384] | : . | options [15:33:56.384] | : . | })(options, fcn)) [15:33:56.384] | : . | expr <- as.call(parts) [15:33:56.384] | : . | expr [15:33:56.384] | : . | } [15:33:56.384] | : . | [15:33:56.385] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:56.386] | : get_transpiler() ... done [15:33:56.386] | : Transpile call expression ... [15:33:56.387] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:56.387] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [15:33:56.387] | : . future.stdout = FALSE, future.conditions = character(0), [15:33:56.387] | : . future.scheduling = 1, future.label = "future_vapply-%d") [15:33:56.388] | : Transpile call expression ... done [15:33:56.389] | : Evaluate transpiled call expression [15:33:56.495] | transpile() ... done [15:33:56.496] futurize() ... done character(0) [15:33:56.496] futurize() ... [15:33:56.497] | transpile() ... [15:33:56.498] | : get_transpiler() ... [15:33:56.498] | : . Finding call to be transpiled ... [15:33:56.499] | : . | descend_wrappers() ... [15:33:56.499] | : . | : Call: [15:33:56.500] | : . | : base::vapply [15:33:56.501] | : . | : parse_call() ... [15:33:56.501] | : . | : . Function: base::vapply(...) [15:33:56.502] | : . | : parse_call() ... done [15:33:56.502] | : . | descend_wrappers() ... done [15:33:56.503] | : . | parse_call() ... [15:33:56.503] | : . | : Function: base::vapply(...) [15:33:56.504] | : . | parse_call() ... done [15:33:56.505] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.505] | : . | base::vapply [15:33:56.506] | : . Finding call to be transpiled ... done [15:33:56.506] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:56.507] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.508] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:56.508] | : . | Transpiler function: [15:33:56.509] | : . | function (expr, options = NULL) [15:33:56.509] | : . | { [15:33:56.509] | : . | call <- make_call("future_vapply") [15:33:56.509] | : . | fcn <- eval(call) [15:33:56.509] | : . | expr[[1]] <- call [15:33:56.509] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.509] | : . | { [15:33:56.509] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.509] | : . | if (is.null(defaults_base)) { [15:33:56.509] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.509] | : . | } [15:33:56.509] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.509] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.509] | : . | defaults <- defaults[keep] [15:33:56.509] | : . | specified <- attr(options, "specified") [15:33:56.509] | : . | if (length(specified) > 0) { [15:33:56.509] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.509] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.509] | : . | names(options)) [15:33:56.509] | : . | } [15:33:56.509] | : . | specified <- sprintf("future.%s", specified) [15:33:56.509] | : . | names <- setdiff(names(defaults), specified) [15:33:56.509] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.509] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.509] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.509] | : . | options <- options[keep] [15:33:56.509] | : . | options [15:33:56.509] | : . | })(options, fcn)) [15:33:56.509] | : . | expr <- as.call(parts) [15:33:56.509] | : . | expr [15:33:56.509] | : . | } [15:33:56.509] | : . | [15:33:56.510] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:56.510] | : get_transpiler() ... done [15:33:56.511] | : Transpile call expression ... [15:33:56.512] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:56.512] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [15:33:56.512] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:56.512] | : . future.chunk.size = 1L, future.label = "future_vapply-%d") [15:33:56.513] | : Transpile call expression ... done [15:33:56.514] | : Evaluate transpiled call expression [15:33:56.675] | transpile() ... done [15:33:56.676] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [15:33:56.677] futurize() ... [15:33:56.678] | transpile() ... [15:33:56.679] | : get_transpiler() ... [15:33:56.680] | : . Finding call to be transpiled ... [15:33:56.681] | : . | descend_wrappers() ... [15:33:56.682] | : . | : Call: [15:33:56.683] | : . | : base::vapply [15:33:56.684] | : . | : parse_call() ... [15:33:56.684] | : . | : . Function: base::vapply(...) [15:33:56.685] | : . | : parse_call() ... done [15:33:56.686] | : . | descend_wrappers() ... done [15:33:56.687] | : . | parse_call() ... [15:33:56.688] | : . | : Function: base::vapply(...) [15:33:56.689] | : . | parse_call() ... done [15:33:56.689] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.690] | : . | base::vapply [15:33:56.692] | : . Finding call to be transpiled ... done [15:33:56.693] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:33:56.694] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.694] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:33:56.695] | : . | Transpiler function: [15:33:56.696] | : . | function (expr, options = NULL) [15:33:56.696] | : . | { [15:33:56.696] | : . | call <- make_call("future_vapply") [15:33:56.696] | : . | fcn <- eval(call) [15:33:56.696] | : . | expr[[1]] <- call [15:33:56.696] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.696] | : . | { [15:33:56.696] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.696] | : . | if (is.null(defaults_base)) { [15:33:56.696] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.696] | : . | } [15:33:56.696] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.696] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.696] | : . | defaults <- defaults[keep] [15:33:56.696] | : . | specified <- attr(options, "specified") [15:33:56.696] | : . | if (length(specified) > 0) { [15:33:56.696] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.696] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.696] | : . | names(options)) [15:33:56.696] | : . | } [15:33:56.696] | : . | specified <- sprintf("future.%s", specified) [15:33:56.696] | : . | names <- setdiff(names(defaults), specified) [15:33:56.696] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.696] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.696] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.696] | : . | options <- options[keep] [15:33:56.696] | : . | options [15:33:56.696] | : . | })(options, fcn)) [15:33:56.696] | : . | expr <- as.call(parts) [15:33:56.696] | : . | expr [15:33:56.696] | : . | } [15:33:56.696] | : . | [15:33:56.698] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:33:56.698] | : get_transpiler() ... done [15:33:56.699] | : Transpile call expression ... [15:33:56.700] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:33:56.700] | : . USE.NAMES = FALSE, future.seed = TRUE, future.globals = TRUE, [15:33:56.700] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:56.700] | : . future.label = "future_vapply-%d") [15:33:56.702] | : Transpile call expression ... done [15:33:56.703] | : Evaluate transpiled call expression [15:33:56.809] | transpile() ... done [15:33:56.811] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN) --------------------------------- [15:33:56.812] futurize() ... [15:33:56.813] | transpile() ... [15:33:56.814] | : get_transpiler() ... [15:33:56.815] | : . Finding call to be transpiled ... [15:33:56.816] | : . | descend_wrappers() ... [15:33:56.817] | : . | : Call: [15:33:56.818] | : . | : base::eapply [15:33:56.819] | : . | : parse_call() ... [15:33:56.820] | : . | : . Function: base::eapply(...) [15:33:56.821] | : . | : parse_call() ... done [15:33:56.822] | : . | descend_wrappers() ... done [15:33:56.823] | : . | parse_call() ... [15:33:56.824] | : . | : Function: base::eapply(...) [15:33:56.824] | : . | parse_call() ... done [15:33:56.825] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.826] | : . | base::eapply [15:33:56.827] | : . Finding call to be transpiled ... done [15:33:56.828] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:56.829] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.830] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:56.831] | : . | Transpiler function: [15:33:56.832] | : . | function (expr, options = NULL) [15:33:56.832] | : . | { [15:33:56.832] | : . | call <- make_call("future_eapply") [15:33:56.832] | : . | fcn <- eval(call) [15:33:56.832] | : . | expr[[1]] <- call [15:33:56.832] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.832] | : . | { [15:33:56.832] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.832] | : . | if (is.null(defaults_base)) { [15:33:56.832] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.832] | : . | } [15:33:56.832] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.832] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.832] | : . | defaults <- defaults[keep] [15:33:56.832] | : . | specified <- attr(options, "specified") [15:33:56.832] | : . | if (length(specified) > 0) { [15:33:56.832] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.832] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.832] | : . | names(options)) [15:33:56.832] | : . | } [15:33:56.832] | : . | specified <- sprintf("future.%s", specified) [15:33:56.832] | : . | names <- setdiff(names(defaults), specified) [15:33:56.832] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.832] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.832] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.832] | : . | options <- options[keep] [15:33:56.832] | : . | options [15:33:56.832] | : . | })(options, fcn)) [15:33:56.832] | : . | expr <- as.call(parts) [15:33:56.832] | : . | expr [15:33:56.832] | : . | } [15:33:56.832] | : . | [15:33:56.834] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:56.835] | : get_transpiler() ... done [15:33:56.835] | : Transpile call expression ... [15:33:56.837] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [15:33:56.837] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:56.837] | : . future.scheduling = 1, future.label = "future_eapply-%d") [15:33:56.842] | : Transpile call expression ... done [15:33:56.843] | : Evaluate transpiled call expression [15:33:56.899] | transpile() ... done [15:33:56.900] futurize() ... done Futures created: 2 [15:33:56.902] futurize() ... [15:33:56.902] | transpile() ... [15:33:56.903] | : get_transpiler() ... [15:33:56.904] | : . Finding call to be transpiled ... [15:33:56.904] | : . | descend_wrappers() ... [15:33:56.905] | : . | : Call: [15:33:56.906] | : . | : base::eapply [15:33:56.906] | : . | : parse_call() ... [15:33:56.907] | : . | : . Function: base::eapply(...) [15:33:56.908] | : . | : parse_call() ... done [15:33:56.908] | : . | descend_wrappers() ... done [15:33:56.909] | : . | parse_call() ... [15:33:56.910] | : . | : Function: base::eapply(...) [15:33:56.910] | : . | parse_call() ... done [15:33:56.911] | : . | Position of call to be transpiled in expression: c(1) [15:33:56.912] | : . | base::eapply [15:33:56.914] | : . Finding call to be transpiled ... done [15:33:56.915] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:56.916] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:56.917] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:56.918] | : . | Transpiler function: [15:33:56.919] | : . | function (expr, options = NULL) [15:33:56.919] | : . | { [15:33:56.919] | : . | call <- make_call("future_eapply") [15:33:56.919] | : . | fcn <- eval(call) [15:33:56.919] | : . | expr[[1]] <- call [15:33:56.919] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:56.919] | : . | { [15:33:56.919] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:56.919] | : . | if (is.null(defaults_base)) { [15:33:56.919] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:56.919] | : . | } [15:33:56.919] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:56.919] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:56.919] | : . | defaults <- defaults[keep] [15:33:56.919] | : . | specified <- attr(options, "specified") [15:33:56.919] | : . | if (length(specified) > 0) { [15:33:56.919] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:56.919] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:56.919] | : . | names(options)) [15:33:56.919] | : . | } [15:33:56.919] | : . | specified <- sprintf("future.%s", specified) [15:33:56.919] | : . | names <- setdiff(names(defaults), specified) [15:33:56.919] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:56.919] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:56.919] | : . | keep <- intersect(names(options), names(defaults)) [15:33:56.919] | : . | options <- options[keep] [15:33:56.919] | : . | options [15:33:56.919] | : . | })(options, fcn)) [15:33:56.919] | : . | expr <- as.call(parts) [15:33:56.919] | : . | expr [15:33:56.919] | : . | } [15:33:56.919] | : . | [15:33:56.921] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:56.922] | : get_transpiler() ... done [15:33:56.923] | : Transpile call expression ... [15:33:56.925] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [15:33:56.925] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:56.925] | : . future.scheduling = 1, future.label = "future_eapply-%d") [15:33:56.927] | : Transpile call expression ... done [15:33:56.928] | : Evaluate transpiled call expression [15:33:57.001] | transpile() ... done [15:33:57.003] futurize() ... done character(0) [15:33:57.004] futurize() ... [15:33:57.005] | transpile() ... [15:33:57.006] | : get_transpiler() ... [15:33:57.007] | : . Finding call to be transpiled ... [15:33:57.008] | : . | descend_wrappers() ... [15:33:57.009] | : . | : Call: [15:33:57.010] | : . | : base::eapply [15:33:57.011] | : . | : parse_call() ... [15:33:57.012] | : . | : . Function: base::eapply(...) [15:33:57.013] | : . | : parse_call() ... done [15:33:57.014] | : . | descend_wrappers() ... done [15:33:57.015] | : . | parse_call() ... [15:33:57.015] | : . | : Function: base::eapply(...) [15:33:57.016] | : . | parse_call() ... done [15:33:57.017] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.018] | : . | base::eapply [15:33:57.019] | : . Finding call to be transpiled ... done [15:33:57.019] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.020] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.021] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.022] | : . | Transpiler function: [15:33:57.022] | : . | function (expr, options = NULL) [15:33:57.022] | : . | { [15:33:57.022] | : . | call <- make_call("future_eapply") [15:33:57.022] | : . | fcn <- eval(call) [15:33:57.022] | : . | expr[[1]] <- call [15:33:57.022] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.022] | : . | { [15:33:57.022] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.022] | : . | if (is.null(defaults_base)) { [15:33:57.022] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.022] | : . | } [15:33:57.022] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.022] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.022] | : . | defaults <- defaults[keep] [15:33:57.022] | : . | specified <- attr(options, "specified") [15:33:57.022] | : . | if (length(specified) > 0) { [15:33:57.022] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.022] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.022] | : . | names(options)) [15:33:57.022] | : . | } [15:33:57.022] | : . | specified <- sprintf("future.%s", specified) [15:33:57.022] | : . | names <- setdiff(names(defaults), specified) [15:33:57.022] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.022] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.022] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.022] | : . | options <- options[keep] [15:33:57.022] | : . | options [15:33:57.022] | : . | })(options, fcn)) [15:33:57.022] | : . | expr <- as.call(parts) [15:33:57.022] | : . | expr [15:33:57.022] | : . | } [15:33:57.022] | : . | [15:33:57.024] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.024] | : get_transpiler() ... done [15:33:57.025] | : Transpile call expression ... [15:33:57.026] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [15:33:57.026] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:57.026] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_eapply-%d") [15:33:57.028] | : Transpile call expression ... done [15:33:57.029] | : Evaluate transpiled call expression [15:33:57.143] | transpile() ... done [15:33:57.144] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN), seed = TRUE, flavor = "add-on") [15:33:57.146] futurize() ... [15:33:57.146] | transpile() ... [15:33:57.147] | : get_transpiler() ... [15:33:57.148] | : . Finding call to be transpiled ... [15:33:57.148] | : . | descend_wrappers() ... [15:33:57.149] | : . | : Call: [15:33:57.150] | : . | : base::eapply [15:33:57.150] | : . | : parse_call() ... [15:33:57.151] | : . | : . Function: base::eapply(...) [15:33:57.152] | : . | : parse_call() ... done [15:33:57.153] | : . | descend_wrappers() ... done [15:33:57.154] | : . | parse_call() ... [15:33:57.154] | : . | : Function: base::eapply(...) [15:33:57.155] | : . | parse_call() ... done [15:33:57.156] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.157] | : . | base::eapply [15:33:57.158] | : . Finding call to be transpiled ... done [15:33:57.158] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.159] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.160] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.160] | : . | Transpiler function: [15:33:57.161] | : . | function (expr, options = NULL) [15:33:57.161] | : . | { [15:33:57.161] | : . | call <- make_call("future_eapply") [15:33:57.161] | : . | fcn <- eval(call) [15:33:57.161] | : . | expr[[1]] <- call [15:33:57.161] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.161] | : . | { [15:33:57.161] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.161] | : . | if (is.null(defaults_base)) { [15:33:57.161] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.161] | : . | } [15:33:57.161] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.161] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.161] | : . | defaults <- defaults[keep] [15:33:57.161] | : . | specified <- attr(options, "specified") [15:33:57.161] | : . | if (length(specified) > 0) { [15:33:57.161] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.161] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.161] | : . | names(options)) [15:33:57.161] | : . | } [15:33:57.161] | : . | specified <- sprintf("future.%s", specified) [15:33:57.161] | : . | names <- setdiff(names(defaults), specified) [15:33:57.161] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.161] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.161] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.161] | : . | options <- options[keep] [15:33:57.161] | : . | options [15:33:57.161] | : . | })(options, fcn)) [15:33:57.161] | : . | expr <- as.call(parts) [15:33:57.161] | : . | expr [15:33:57.161] | : . | } [15:33:57.161] | : . | [15:33:57.162] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.163] | : get_transpiler() ... done [15:33:57.164] | : Transpile call expression ... [15:33:57.165] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = TRUE, [15:33:57.165] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:57.165] | : . future.scheduling = 1, future.label = "future_eapply-%d") [15:33:57.167] | : Transpile call expression ... done [15:33:57.168] | : Evaluate transpiled call expression [15:33:57.227] | transpile() ... done [15:33:57.228] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, all.names = TRUE) --------------------------------- [15:33:57.230] futurize() ... [15:33:57.231] | transpile() ... [15:33:57.232] | : get_transpiler() ... [15:33:57.233] | : . Finding call to be transpiled ... [15:33:57.234] | : . | descend_wrappers() ... [15:33:57.235] | : . | : Call: [15:33:57.236] | : . | : base::eapply [15:33:57.237] | : . | : parse_call() ... [15:33:57.238] | : . | : . Function: base::eapply(...) [15:33:57.239] | : . | : parse_call() ... done [15:33:57.240] | : . | descend_wrappers() ... done [15:33:57.241] | : . | parse_call() ... [15:33:57.242] | : . | : Function: base::eapply(...) [15:33:57.243] | : . | parse_call() ... done [15:33:57.244] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.245] | : . | base::eapply [15:33:57.246] | : . Finding call to be transpiled ... done [15:33:57.247] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.248] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.249] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.250] | : . | Transpiler function: [15:33:57.250] | : . | function (expr, options = NULL) [15:33:57.250] | : . | { [15:33:57.250] | : . | call <- make_call("future_eapply") [15:33:57.250] | : . | fcn <- eval(call) [15:33:57.250] | : . | expr[[1]] <- call [15:33:57.250] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.250] | : . | { [15:33:57.250] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.250] | : . | if (is.null(defaults_base)) { [15:33:57.250] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.250] | : . | } [15:33:57.250] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.250] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.250] | : . | defaults <- defaults[keep] [15:33:57.250] | : . | specified <- attr(options, "specified") [15:33:57.250] | : . | if (length(specified) > 0) { [15:33:57.250] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.250] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.250] | : . | names(options)) [15:33:57.250] | : . | } [15:33:57.250] | : . | specified <- sprintf("future.%s", specified) [15:33:57.250] | : . | names <- setdiff(names(defaults), specified) [15:33:57.250] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.250] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.250] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.250] | : . | options <- options[keep] [15:33:57.250] | : . | options [15:33:57.250] | : . | })(options, fcn)) [15:33:57.250] | : . | expr <- as.call(parts) [15:33:57.250] | : . | expr [15:33:57.250] | : . | } [15:33:57.250] | : . | [15:33:57.252] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.253] | : get_transpiler() ... done [15:33:57.254] | : Transpile call expression ... [15:33:57.256] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:33:57.256] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:57.256] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:33:57.258] | : Transpile call expression ... done [15:33:57.259] | : Evaluate transpiled call expression [15:33:57.327] | transpile() ... done [15:33:57.328] futurize() ... done Futures created: 2 [15:33:57.330] futurize() ... [15:33:57.331] | transpile() ... [15:33:57.332] | : get_transpiler() ... [15:33:57.333] | : . Finding call to be transpiled ... [15:33:57.334] | : . | descend_wrappers() ... [15:33:57.335] | : . | : Call: [15:33:57.336] | : . | : base::eapply [15:33:57.338] | : . | : parse_call() ... [15:33:57.339] | : . | : . Function: base::eapply(...) [15:33:57.340] | : . | : parse_call() ... done [15:33:57.341] | : . | descend_wrappers() ... done [15:33:57.342] | : . | parse_call() ... [15:33:57.343] | : . | : Function: base::eapply(...) [15:33:57.344] | : . | parse_call() ... done [15:33:57.345] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.346] | : . | base::eapply [15:33:57.348] | : . Finding call to be transpiled ... done [15:33:57.349] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.350] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.351] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.352] | : . | Transpiler function: [15:33:57.352] | : . | function (expr, options = NULL) [15:33:57.352] | : . | { [15:33:57.352] | : . | call <- make_call("future_eapply") [15:33:57.352] | : . | fcn <- eval(call) [15:33:57.352] | : . | expr[[1]] <- call [15:33:57.352] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.352] | : . | { [15:33:57.352] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.352] | : . | if (is.null(defaults_base)) { [15:33:57.352] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.352] | : . | } [15:33:57.352] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.352] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.352] | : . | defaults <- defaults[keep] [15:33:57.352] | : . | specified <- attr(options, "specified") [15:33:57.352] | : . | if (length(specified) > 0) { [15:33:57.352] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.352] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.352] | : . | names(options)) [15:33:57.352] | : . | } [15:33:57.352] | : . | specified <- sprintf("future.%s", specified) [15:33:57.352] | : . | names <- setdiff(names(defaults), specified) [15:33:57.352] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.352] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.352] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.352] | : . | options <- options[keep] [15:33:57.352] | : . | options [15:33:57.352] | : . | })(options, fcn)) [15:33:57.352] | : . | expr <- as.call(parts) [15:33:57.352] | : . | expr [15:33:57.352] | : . | } [15:33:57.352] | : . | [15:33:57.354] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.355] | : get_transpiler() ... done [15:33:57.356] | : Transpile call expression ... [15:33:57.357] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:33:57.357] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:33:57.357] | : . future.conditions = character(0), future.scheduling = 1, [15:33:57.357] | : . future.label = "future_eapply-%d") [15:33:57.359] | : Transpile call expression ... done [15:33:57.360] | : Evaluate transpiled call expression [15:33:57.433] | transpile() ... done [15:33:57.434] futurize() ... done character(0) [15:33:57.435] futurize() ... [15:33:57.436] | transpile() ... [15:33:57.437] | : get_transpiler() ... [15:33:57.439] | : . Finding call to be transpiled ... [15:33:57.440] | : . | descend_wrappers() ... [15:33:57.441] | : . | : Call: [15:33:57.442] | : . | : base::eapply [15:33:57.443] | : . | : parse_call() ... [15:33:57.444] | : . | : . Function: base::eapply(...) [15:33:57.446] | : . | : parse_call() ... done [15:33:57.447] | : . | descend_wrappers() ... done [15:33:57.448] | : . | parse_call() ... [15:33:57.449] | : . | : Function: base::eapply(...) [15:33:57.450] | : . | parse_call() ... done [15:33:57.451] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.452] | : . | base::eapply [15:33:57.454] | : . Finding call to be transpiled ... done [15:33:57.455] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.456] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.457] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.458] | : . | Transpiler function: [15:33:57.459] | : . | function (expr, options = NULL) [15:33:57.459] | : . | { [15:33:57.459] | : . | call <- make_call("future_eapply") [15:33:57.459] | : . | fcn <- eval(call) [15:33:57.459] | : . | expr[[1]] <- call [15:33:57.459] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.459] | : . | { [15:33:57.459] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.459] | : . | if (is.null(defaults_base)) { [15:33:57.459] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.459] | : . | } [15:33:57.459] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.459] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.459] | : . | defaults <- defaults[keep] [15:33:57.459] | : . | specified <- attr(options, "specified") [15:33:57.459] | : . | if (length(specified) > 0) { [15:33:57.459] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.459] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.459] | : . | names(options)) [15:33:57.459] | : . | } [15:33:57.459] | : . | specified <- sprintf("future.%s", specified) [15:33:57.459] | : . | names <- setdiff(names(defaults), specified) [15:33:57.459] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.459] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.459] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.459] | : . | options <- options[keep] [15:33:57.459] | : . | options [15:33:57.459] | : . | })(options, fcn)) [15:33:57.459] | : . | expr <- as.call(parts) [15:33:57.459] | : . | expr [15:33:57.459] | : . | } [15:33:57.459] | : . | [15:33:57.462] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.463] | : get_transpiler() ... done [15:33:57.464] | : Transpile call expression ... [15:33:57.466] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:33:57.466] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:57.466] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:33:57.466] | : . future.label = "future_eapply-%d") [15:33:57.468] | : Transpile call expression ... done [15:33:57.470] | : Evaluate transpiled call expression [15:33:57.626] | transpile() ... done [15:33:57.627] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, all.names = TRUE), seed = TRUE, flavor = "add-on") [15:33:57.629] futurize() ... [15:33:57.631] | transpile() ... [15:33:57.632] | : get_transpiler() ... [15:33:57.633] | : . Finding call to be transpiled ... [15:33:57.634] | : . | descend_wrappers() ... [15:33:57.636] | : . | : Call: [15:33:57.637] | : . | : base::eapply [15:33:57.638] | : . | : parse_call() ... [15:33:57.639] | : . | : . Function: base::eapply(...) [15:33:57.641] | : . | : parse_call() ... done [15:33:57.642] | : . | descend_wrappers() ... done [15:33:57.643] | : . | parse_call() ... [15:33:57.644] | : . | : Function: base::eapply(...) [15:33:57.645] | : . | parse_call() ... done [15:33:57.646] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.647] | : . | base::eapply [15:33:57.649] | : . Finding call to be transpiled ... done [15:33:57.650] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.651] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.652] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.654] | : . | Transpiler function: [15:33:57.655] | : . | function (expr, options = NULL) [15:33:57.655] | : . | { [15:33:57.655] | : . | call <- make_call("future_eapply") [15:33:57.655] | : . | fcn <- eval(call) [15:33:57.655] | : . | expr[[1]] <- call [15:33:57.655] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.655] | : . | { [15:33:57.655] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.655] | : . | if (is.null(defaults_base)) { [15:33:57.655] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.655] | : . | } [15:33:57.655] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.655] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.655] | : . | defaults <- defaults[keep] [15:33:57.655] | : . | specified <- attr(options, "specified") [15:33:57.655] | : . | if (length(specified) > 0) { [15:33:57.655] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.655] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.655] | : . | names(options)) [15:33:57.655] | : . | } [15:33:57.655] | : . | specified <- sprintf("future.%s", specified) [15:33:57.655] | : . | names <- setdiff(names(defaults), specified) [15:33:57.655] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.655] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.655] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.655] | : . | options <- options[keep] [15:33:57.655] | : . | options [15:33:57.655] | : . | })(options, fcn)) [15:33:57.655] | : . | expr <- as.call(parts) [15:33:57.655] | : . | expr [15:33:57.655] | : . | } [15:33:57.655] | : . | [15:33:57.657] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.658] | : get_transpiler() ... done [15:33:57.660] | : Transpile call expression ... [15:33:57.661] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:33:57.661] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:33:57.661] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:33:57.664] | : Transpile call expression ... done [15:33:57.665] | : Evaluate transpiled call expression [15:33:57.758] | transpile() ... done [15:33:57.759] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [15:33:57.762] futurize() ... [15:33:57.763] | transpile() ... [15:33:57.764] | : get_transpiler() ... [15:33:57.765] | : . Finding call to be transpiled ... [15:33:57.766] | : . | descend_wrappers() ... [15:33:57.767] | : . | : Call: [15:33:57.767] | : . | : base::eapply [15:33:57.769] | : . | : parse_call() ... [15:33:57.770] | : . | : . Function: base::eapply(...) [15:33:57.771] | : . | : parse_call() ... done [15:33:57.772] | : . | descend_wrappers() ... done [15:33:57.772] | : . | parse_call() ... [15:33:57.773] | : . | : Function: base::eapply(...) [15:33:57.774] | : . | parse_call() ... done [15:33:57.775] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.776] | : . | base::eapply [15:33:57.777] | : . Finding call to be transpiled ... done [15:33:57.777] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.778] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.779] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.780] | : . | Transpiler function: [15:33:57.781] | : . | function (expr, options = NULL) [15:33:57.781] | : . | { [15:33:57.781] | : . | call <- make_call("future_eapply") [15:33:57.781] | : . | fcn <- eval(call) [15:33:57.781] | : . | expr[[1]] <- call [15:33:57.781] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.781] | : . | { [15:33:57.781] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.781] | : . | if (is.null(defaults_base)) { [15:33:57.781] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.781] | : . | } [15:33:57.781] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.781] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.781] | : . | defaults <- defaults[keep] [15:33:57.781] | : . | specified <- attr(options, "specified") [15:33:57.781] | : . | if (length(specified) > 0) { [15:33:57.781] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.781] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.781] | : . | names(options)) [15:33:57.781] | : . | } [15:33:57.781] | : . | specified <- sprintf("future.%s", specified) [15:33:57.781] | : . | names <- setdiff(names(defaults), specified) [15:33:57.781] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.781] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.781] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.781] | : . | options <- options[keep] [15:33:57.781] | : . | options [15:33:57.781] | : . | })(options, fcn)) [15:33:57.781] | : . | expr <- as.call(parts) [15:33:57.781] | : . | expr [15:33:57.781] | : . | } [15:33:57.781] | : . | [15:33:57.783] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.784] | : get_transpiler() ... done [15:33:57.785] | : Transpile call expression ... [15:33:57.786] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:33:57.786] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:57.786] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:33:57.789] | : Transpile call expression ... done [15:33:57.789] | : Evaluate transpiled call expression [15:33:57.850] | transpile() ... done [15:33:57.851] futurize() ... done Futures created: 2 [15:33:57.853] futurize() ... [15:33:57.854] | transpile() ... [15:33:57.855] | : get_transpiler() ... [15:33:57.856] | : . Finding call to be transpiled ... [15:33:57.857] | : . | descend_wrappers() ... [15:33:57.858] | : . | : Call: [15:33:57.859] | : . | : base::eapply [15:33:57.861] | : . | : parse_call() ... [15:33:57.862] | : . | : . Function: base::eapply(...) [15:33:57.863] | : . | : parse_call() ... done [15:33:57.864] | : . | descend_wrappers() ... done [15:33:57.865] | : . | parse_call() ... [15:33:57.866] | : . | : Function: base::eapply(...) [15:33:57.867] | : . | parse_call() ... done [15:33:57.868] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.869] | : . | base::eapply [15:33:57.871] | : . Finding call to be transpiled ... done [15:33:57.872] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.873] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.874] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.875] | : . | Transpiler function: [15:33:57.876] | : . | function (expr, options = NULL) [15:33:57.876] | : . | { [15:33:57.876] | : . | call <- make_call("future_eapply") [15:33:57.876] | : . | fcn <- eval(call) [15:33:57.876] | : . | expr[[1]] <- call [15:33:57.876] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.876] | : . | { [15:33:57.876] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.876] | : . | if (is.null(defaults_base)) { [15:33:57.876] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.876] | : . | } [15:33:57.876] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.876] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.876] | : . | defaults <- defaults[keep] [15:33:57.876] | : . | specified <- attr(options, "specified") [15:33:57.876] | : . | if (length(specified) > 0) { [15:33:57.876] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.876] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.876] | : . | names(options)) [15:33:57.876] | : . | } [15:33:57.876] | : . | specified <- sprintf("future.%s", specified) [15:33:57.876] | : . | names <- setdiff(names(defaults), specified) [15:33:57.876] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.876] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.876] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.876] | : . | options <- options[keep] [15:33:57.876] | : . | options [15:33:57.876] | : . | })(options, fcn)) [15:33:57.876] | : . | expr <- as.call(parts) [15:33:57.876] | : . | expr [15:33:57.876] | : . | } [15:33:57.876] | : . | [15:33:57.878] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.880] | : get_transpiler() ... done [15:33:57.881] | : Transpile call expression ... [15:33:57.882] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:33:57.882] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:33:57.882] | : . future.conditions = character(0), future.scheduling = 1, [15:33:57.882] | : . future.label = "future_eapply-%d") [15:33:57.885] | : Transpile call expression ... done [15:33:57.886] | : Evaluate transpiled call expression [15:33:57.962] | transpile() ... done [15:33:57.964] futurize() ... done character(0) [15:33:57.965] futurize() ... [15:33:57.967] | transpile() ... [15:33:57.968] | : get_transpiler() ... [15:33:57.969] | : . Finding call to be transpiled ... [15:33:57.970] | : . | descend_wrappers() ... [15:33:57.971] | : . | : Call: [15:33:57.972] | : . | : base::eapply [15:33:57.974] | : . | : parse_call() ... [15:33:57.975] | : . | : . Function: base::eapply(...) [15:33:57.976] | : . | : parse_call() ... done [15:33:57.977] | : . | descend_wrappers() ... done [15:33:57.979] | : . | parse_call() ... [15:33:57.980] | : . | : Function: base::eapply(...) [15:33:57.981] | : . | parse_call() ... done [15:33:57.982] | : . | Position of call to be transpiled in expression: c(1) [15:33:57.983] | : . | base::eapply [15:33:57.984] | : . Finding call to be transpiled ... done [15:33:57.985] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:57.987] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:57.988] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:57.989] | : . | Transpiler function: [15:33:57.990] | : . | function (expr, options = NULL) [15:33:57.990] | : . | { [15:33:57.990] | : . | call <- make_call("future_eapply") [15:33:57.990] | : . | fcn <- eval(call) [15:33:57.990] | : . | expr[[1]] <- call [15:33:57.990] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:57.990] | : . | { [15:33:57.990] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:57.990] | : . | if (is.null(defaults_base)) { [15:33:57.990] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:57.990] | : . | } [15:33:57.990] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:57.990] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:57.990] | : . | defaults <- defaults[keep] [15:33:57.990] | : . | specified <- attr(options, "specified") [15:33:57.990] | : . | if (length(specified) > 0) { [15:33:57.990] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:57.990] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:57.990] | : . | names(options)) [15:33:57.990] | : . | } [15:33:57.990] | : . | specified <- sprintf("future.%s", specified) [15:33:57.990] | : . | names <- setdiff(names(defaults), specified) [15:33:57.990] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:57.990] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:57.990] | : . | keep <- intersect(names(options), names(defaults)) [15:33:57.990] | : . | options <- options[keep] [15:33:57.990] | : . | options [15:33:57.990] | : . | })(options, fcn)) [15:33:57.990] | : . | expr <- as.call(parts) [15:33:57.990] | : . | expr [15:33:57.990] | : . | } [15:33:57.990] | : . | [15:33:57.992] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:57.993] | : get_transpiler() ... done [15:33:57.995] | : Transpile call expression ... [15:33:57.996] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:33:57.996] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:33:57.996] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:33:57.996] | : . future.label = "future_eapply-%d") [15:33:57.999] | : Transpile call expression ... done [15:33:58.000] | : Evaluate transpiled call expression [15:33:58.130] | transpile() ... done [15:33:58.131] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "add-on") [15:33:58.132] futurize() ... [15:33:58.133] | transpile() ... [15:33:58.134] | : get_transpiler() ... [15:33:58.135] | : . Finding call to be transpiled ... [15:33:58.136] | : . | descend_wrappers() ... [15:33:58.137] | : . | : Call: [15:33:58.138] | : . | : base::eapply [15:33:58.139] | : . | : parse_call() ... [15:33:58.140] | : . | : . Function: base::eapply(...) [15:33:58.141] | : . | : parse_call() ... done [15:33:58.142] | : . | descend_wrappers() ... done [15:33:58.142] | : . | parse_call() ... [15:33:58.143] | : . | : Function: base::eapply(...) [15:33:58.144] | : . | parse_call() ... done [15:33:58.145] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.146] | : . | base::eapply [15:33:58.147] | : . Finding call to be transpiled ... done [15:33:58.148] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:33:58.149] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.150] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:33:58.151] | : . | Transpiler function: [15:33:58.151] | : . | function (expr, options = NULL) [15:33:58.151] | : . | { [15:33:58.151] | : . | call <- make_call("future_eapply") [15:33:58.151] | : . | fcn <- eval(call) [15:33:58.151] | : . | expr[[1]] <- call [15:33:58.151] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.151] | : . | { [15:33:58.151] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.151] | : . | if (is.null(defaults_base)) { [15:33:58.151] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.151] | : . | } [15:33:58.151] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.151] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.151] | : . | defaults <- defaults[keep] [15:33:58.151] | : . | specified <- attr(options, "specified") [15:33:58.151] | : . | if (length(specified) > 0) { [15:33:58.151] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.151] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.151] | : . | names(options)) [15:33:58.151] | : . | } [15:33:58.151] | : . | specified <- sprintf("future.%s", specified) [15:33:58.151] | : . | names <- setdiff(names(defaults), specified) [15:33:58.151] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.151] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.151] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.151] | : . | options <- options[keep] [15:33:58.151] | : . | options [15:33:58.151] | : . | })(options, fcn)) [15:33:58.151] | : . | expr <- as.call(parts) [15:33:58.151] | : . | expr [15:33:58.151] | : . | } [15:33:58.151] | : . | [15:33:58.153] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:33:58.153] | : get_transpiler() ... done [15:33:58.154] | : Transpile call expression ... [15:33:58.155] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:33:58.155] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:33:58.155] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:33:58.157] | : Transpile call expression ... done [15:33:58.157] | : Evaluate transpiled call expression [15:33:58.215] | transpile() ... done [15:33:58.216] futurize() ... done === replicate ========================== replicate(2, 42) --------------------------------- [15:33:58.220] futurize() ... [15:33:58.221] | transpile() ... [15:33:58.222] | : get_transpiler() ... [15:33:58.223] | : . Finding call to be transpiled ... [15:33:58.224] | : . | descend_wrappers() ... [15:33:58.225] | : . | : Call: [15:33:58.227] | : . | : replicate [15:33:58.227] | : . | : parse_call() ... [15:33:58.228] | : . | : . Function: replicate(...) [15:33:58.229] | : . | : . Locate function ... [15:33:58.230] | : . | : . | Function located in: 'base' [15:33:58.230] | : . | : . Locate function ... done [15:33:58.231] | : . | : parse_call() ... done [15:33:58.232] | : . | descend_wrappers() ... done [15:33:58.233] | : . | parse_call() ... [15:33:58.233] | : . | : Function: replicate(...) [15:33:58.234] | : . | : Locate function ... [15:33:58.235] | : . | : . Function located in: 'base' [15:33:58.236] | : . | : Locate function ... done [15:33:58.237] | : . | parse_call() ... done [15:33:58.237] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.238] | : . | replicate [15:33:58.239] | : . Finding call to be transpiled ... done [15:33:58.240] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.241] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.242] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.242] | : . | Transpiler function: [15:33:58.243] | : . | function (expr, options = NULL) [15:33:58.243] | : . | { [15:33:58.243] | : . | call <- make_call("future_replicate") [15:33:58.243] | : . | fcn <- eval(call) [15:33:58.243] | : . | expr[[1]] <- call [15:33:58.243] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.243] | : . | { [15:33:58.243] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.243] | : . | if (is.null(defaults_base)) { [15:33:58.243] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.243] | : . | } [15:33:58.243] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.243] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.243] | : . | defaults <- defaults[keep] [15:33:58.243] | : . | specified <- attr(options, "specified") [15:33:58.243] | : . | if (length(specified) > 0) { [15:33:58.243] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.243] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.243] | : . | names(options)) [15:33:58.243] | : . | } [15:33:58.243] | : . | specified <- sprintf("future.%s", specified) [15:33:58.243] | : . | names <- setdiff(names(defaults), specified) [15:33:58.243] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.243] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.243] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.243] | : . | options <- options[keep] [15:33:58.243] | : . | options [15:33:58.243] | : . | })(options, fcn)) [15:33:58.243] | : . | expr <- as.call(parts) [15:33:58.243] | : . | expr [15:33:58.243] | : . | } [15:33:58.243] | : . | [15:33:58.245] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.246] | : get_transpiler() ... done [15:33:58.247] | : Transpile call expression ... [15:33:58.248] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.248] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:58.248] | : . future.label = "future_replicate-%d") [15:33:58.250] | : Transpile call expression ... done [15:33:58.251] | : Evaluate transpiled call expression [15:33:58.284] | transpile() ... done [15:33:58.285] futurize() ... done Futures created: 2 [15:33:58.287] futurize() ... [15:33:58.288] | transpile() ... [15:33:58.289] | : get_transpiler() ... [15:33:58.290] | : . Finding call to be transpiled ... [15:33:58.291] | : . | descend_wrappers() ... [15:33:58.291] | : . | : Call: [15:33:58.292] | : . | : replicate [15:33:58.293] | : . | : parse_call() ... [15:33:58.294] | : . | : . Function: replicate(...) [15:33:58.295] | : . | : . Locate function ... [15:33:58.296] | : . | : . | Function located in: 'base' [15:33:58.297] | : . | : . Locate function ... done [15:33:58.298] | : . | : parse_call() ... done [15:33:58.299] | : . | descend_wrappers() ... done [15:33:58.300] | : . | parse_call() ... [15:33:58.301] | : . | : Function: replicate(...) [15:33:58.302] | : . | : Locate function ... [15:33:58.303] | : . | : . Function located in: 'base' [15:33:58.304] | : . | : Locate function ... done [15:33:58.305] | : . | parse_call() ... done [15:33:58.306] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.306] | : . | replicate [15:33:58.308] | : . Finding call to be transpiled ... done [15:33:58.309] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.310] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.311] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.311] | : . | Transpiler function: [15:33:58.312] | : . | function (expr, options = NULL) [15:33:58.312] | : . | { [15:33:58.312] | : . | call <- make_call("future_replicate") [15:33:58.312] | : . | fcn <- eval(call) [15:33:58.312] | : . | expr[[1]] <- call [15:33:58.312] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.312] | : . | { [15:33:58.312] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.312] | : . | if (is.null(defaults_base)) { [15:33:58.312] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.312] | : . | } [15:33:58.312] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.312] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.312] | : . | defaults <- defaults[keep] [15:33:58.312] | : . | specified <- attr(options, "specified") [15:33:58.312] | : . | if (length(specified) > 0) { [15:33:58.312] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.312] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.312] | : . | names(options)) [15:33:58.312] | : . | } [15:33:58.312] | : . | specified <- sprintf("future.%s", specified) [15:33:58.312] | : . | names <- setdiff(names(defaults), specified) [15:33:58.312] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.312] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.312] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.312] | : . | options <- options[keep] [15:33:58.312] | : . | options [15:33:58.312] | : . | })(options, fcn)) [15:33:58.312] | : . | expr <- as.call(parts) [15:33:58.312] | : . | expr [15:33:58.312] | : . | } [15:33:58.312] | : . | [15:33:58.314] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.315] | : get_transpiler() ... done [15:33:58.316] | : Transpile call expression ... [15:33:58.317] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.317] | : . future.stdout = FALSE, future.conditions = character(0), [15:33:58.317] | : . future.scheduling = 1, future.label = "future_replicate-%d") [15:33:58.320] | : Transpile call expression ... done [15:33:58.321] | : Evaluate transpiled call expression [15:33:58.352] | transpile() ... done [15:33:58.354] futurize() ... done character(0) [15:33:58.355] futurize() ... [15:33:58.356] | transpile() ... [15:33:58.357] | : get_transpiler() ... [15:33:58.358] | : . Finding call to be transpiled ... [15:33:58.359] | : . | descend_wrappers() ... [15:33:58.360] | : . | : Call: [15:33:58.361] | : . | : replicate [15:33:58.362] | : . | : parse_call() ... [15:33:58.363] | : . | : . Function: replicate(...) [15:33:58.364] | : . | : . Locate function ... [15:33:58.365] | : . | : . | Function located in: 'base' [15:33:58.366] | : . | : . Locate function ... done [15:33:58.367] | : . | : parse_call() ... done [15:33:58.368] | : . | descend_wrappers() ... done [15:33:58.369] | : . | parse_call() ... [15:33:58.370] | : . | : Function: replicate(...) [15:33:58.371] | : . | : Locate function ... [15:33:58.372] | : . | : . Function located in: 'base' [15:33:58.373] | : . | : Locate function ... done [15:33:58.374] | : . | parse_call() ... done [15:33:58.375] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.375] | : . | replicate [15:33:58.377] | : . Finding call to be transpiled ... done [15:33:58.377] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.378] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.379] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.380] | : . | Transpiler function: [15:33:58.381] | : . | function (expr, options = NULL) [15:33:58.381] | : . | { [15:33:58.381] | : . | call <- make_call("future_replicate") [15:33:58.381] | : . | fcn <- eval(call) [15:33:58.381] | : . | expr[[1]] <- call [15:33:58.381] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.381] | : . | { [15:33:58.381] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.381] | : . | if (is.null(defaults_base)) { [15:33:58.381] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.381] | : . | } [15:33:58.381] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.381] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.381] | : . | defaults <- defaults[keep] [15:33:58.381] | : . | specified <- attr(options, "specified") [15:33:58.381] | : . | if (length(specified) > 0) { [15:33:58.381] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.381] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.381] | : . | names(options)) [15:33:58.381] | : . | } [15:33:58.381] | : . | specified <- sprintf("future.%s", specified) [15:33:58.381] | : . | names <- setdiff(names(defaults), specified) [15:33:58.381] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.381] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.381] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.381] | : . | options <- options[keep] [15:33:58.381] | : . | options [15:33:58.381] | : . | })(options, fcn)) [15:33:58.381] | : . | expr <- as.call(parts) [15:33:58.381] | : . | expr [15:33:58.381] | : . | } [15:33:58.381] | : . | [15:33:58.383] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.383] | : get_transpiler() ... done [15:33:58.384] | : Transpile call expression ... [15:33:58.386] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.386] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:58.386] | : . future.chunk.size = 1L, future.label = "future_replicate-%d") [15:33:58.388] | : Transpile call expression ... done [15:33:58.389] | : Evaluate transpiled call expression [15:33:58.417] | transpile() ... done [15:33:58.419] futurize() ... done Test with RNG: futurize(replicate(2, 42), seed = TRUE, flavor = "add-on") [15:33:58.420] futurize() ... [15:33:58.421] | transpile() ... [15:33:58.422] | : get_transpiler() ... [15:33:58.423] | : . Finding call to be transpiled ... [15:33:58.424] | : . | descend_wrappers() ... [15:33:58.425] | : . | : Call: [15:33:58.426] | : . | : replicate [15:33:58.427] | : . | : parse_call() ... [15:33:58.428] | : . | : . Function: replicate(...) [15:33:58.429] | : . | : . Locate function ... [15:33:58.430] | : . | : . | Function located in: 'base' [15:33:58.431] | : . | : . Locate function ... done [15:33:58.432] | : . | : parse_call() ... done [15:33:58.432] | : . | descend_wrappers() ... done [15:33:58.433] | : . | parse_call() ... [15:33:58.434] | : . | : Function: replicate(...) [15:33:58.435] | : . | : Locate function ... [15:33:58.435] | : . | : . Function located in: 'base' [15:33:58.437] | : . | : Locate function ... done [15:33:58.438] | : . | parse_call() ... done [15:33:58.439] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.440] | : . | replicate [15:33:58.441] | : . Finding call to be transpiled ... done [15:33:58.442] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.443] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.444] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.445] | : . | Transpiler function: [15:33:58.446] | : . | function (expr, options = NULL) [15:33:58.446] | : . | { [15:33:58.446] | : . | call <- make_call("future_replicate") [15:33:58.446] | : . | fcn <- eval(call) [15:33:58.446] | : . | expr[[1]] <- call [15:33:58.446] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.446] | : . | { [15:33:58.446] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.446] | : . | if (is.null(defaults_base)) { [15:33:58.446] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.446] | : . | } [15:33:58.446] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.446] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.446] | : . | defaults <- defaults[keep] [15:33:58.446] | : . | specified <- attr(options, "specified") [15:33:58.446] | : . | if (length(specified) > 0) { [15:33:58.446] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.446] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.446] | : . | names(options)) [15:33:58.446] | : . | } [15:33:58.446] | : . | specified <- sprintf("future.%s", specified) [15:33:58.446] | : . | names <- setdiff(names(defaults), specified) [15:33:58.446] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.446] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.446] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.446] | : . | options <- options[keep] [15:33:58.446] | : . | options [15:33:58.446] | : . | })(options, fcn)) [15:33:58.446] | : . | expr <- as.call(parts) [15:33:58.446] | : . | expr [15:33:58.446] | : . | } [15:33:58.446] | : . | [15:33:58.448] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.449] | : get_transpiler() ... done [15:33:58.450] | : Transpile call expression ... [15:33:58.452] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.452] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:58.452] | : . future.label = "future_replicate-%d") [15:33:58.454] | : Transpile call expression ... done [15:33:58.455] | : Evaluate transpiled call expression [15:33:58.484] | transpile() ... done [15:33:58.485] futurize() ... done === replicate ========================== base::replicate(2, 42) --------------------------------- [15:33:58.487] futurize() ... [15:33:58.488] | transpile() ... [15:33:58.489] | : get_transpiler() ... [15:33:58.490] | : . Finding call to be transpiled ... [15:33:58.490] | : . | descend_wrappers() ... [15:33:58.491] | : . | : Call: [15:33:58.492] | : . | : base::replicate [15:33:58.493] | : . | : parse_call() ... [15:33:58.494] | : . | : . Function: base::replicate(...) [15:33:58.495] | : . | : parse_call() ... done [15:33:58.496] | : . | descend_wrappers() ... done [15:33:58.497] | : . | parse_call() ... [15:33:58.497] | : . | : Function: base::replicate(...) [15:33:58.498] | : . | parse_call() ... done [15:33:58.499] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.500] | : . | base::replicate [15:33:58.501] | : . Finding call to be transpiled ... done [15:33:58.502] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.503] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.504] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.505] | : . | Transpiler function: [15:33:58.505] | : . | function (expr, options = NULL) [15:33:58.505] | : . | { [15:33:58.505] | : . | call <- make_call("future_replicate") [15:33:58.505] | : . | fcn <- eval(call) [15:33:58.505] | : . | expr[[1]] <- call [15:33:58.505] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.505] | : . | { [15:33:58.505] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.505] | : . | if (is.null(defaults_base)) { [15:33:58.505] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.505] | : . | } [15:33:58.505] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.505] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.505] | : . | defaults <- defaults[keep] [15:33:58.505] | : . | specified <- attr(options, "specified") [15:33:58.505] | : . | if (length(specified) > 0) { [15:33:58.505] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.505] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.505] | : . | names(options)) [15:33:58.505] | : . | } [15:33:58.505] | : . | specified <- sprintf("future.%s", specified) [15:33:58.505] | : . | names <- setdiff(names(defaults), specified) [15:33:58.505] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.505] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.505] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.505] | : . | options <- options[keep] [15:33:58.505] | : . | options [15:33:58.505] | : . | })(options, fcn)) [15:33:58.505] | : . | expr <- as.call(parts) [15:33:58.505] | : . | expr [15:33:58.505] | : . | } [15:33:58.505] | : . | [15:33:58.507] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.508] | : get_transpiler() ... done [15:33:58.509] | : Transpile call expression ... [15:33:58.510] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.510] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:58.510] | : . future.label = "future_replicate-%d") [15:33:58.512] | : Transpile call expression ... done [15:33:58.513] | : Evaluate transpiled call expression [15:33:58.549] | transpile() ... done [15:33:58.550] futurize() ... done Futures created: 2 [15:33:58.551] futurize() ... [15:33:58.552] | transpile() ... [15:33:58.553] | : get_transpiler() ... [15:33:58.554] | : . Finding call to be transpiled ... [15:33:58.555] | : . | descend_wrappers() ... [15:33:58.556] | : . | : Call: [15:33:58.557] | : . | : base::replicate [15:33:58.558] | : . | : parse_call() ... [15:33:58.559] | : . | : . Function: base::replicate(...) [15:33:58.559] | : . | : parse_call() ... done [15:33:58.560] | : . | descend_wrappers() ... done [15:33:58.561] | : . | parse_call() ... [15:33:58.562] | : . | : Function: base::replicate(...) [15:33:58.563] | : . | parse_call() ... done [15:33:58.564] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.564] | : . | base::replicate [15:33:58.565] | : . Finding call to be transpiled ... done [15:33:58.566] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.567] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.568] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.569] | : . | Transpiler function: [15:33:58.570] | : . | function (expr, options = NULL) [15:33:58.570] | : . | { [15:33:58.570] | : . | call <- make_call("future_replicate") [15:33:58.570] | : . | fcn <- eval(call) [15:33:58.570] | : . | expr[[1]] <- call [15:33:58.570] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.570] | : . | { [15:33:58.570] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.570] | : . | if (is.null(defaults_base)) { [15:33:58.570] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.570] | : . | } [15:33:58.570] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.570] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.570] | : . | defaults <- defaults[keep] [15:33:58.570] | : . | specified <- attr(options, "specified") [15:33:58.570] | : . | if (length(specified) > 0) { [15:33:58.570] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.570] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.570] | : . | names(options)) [15:33:58.570] | : . | } [15:33:58.570] | : . | specified <- sprintf("future.%s", specified) [15:33:58.570] | : . | names <- setdiff(names(defaults), specified) [15:33:58.570] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.570] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.570] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.570] | : . | options <- options[keep] [15:33:58.570] | : . | options [15:33:58.570] | : . | })(options, fcn)) [15:33:58.570] | : . | expr <- as.call(parts) [15:33:58.570] | : . | expr [15:33:58.570] | : . | } [15:33:58.570] | : . | [15:33:58.571] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.572] | : get_transpiler() ... done [15:33:58.573] | : Transpile call expression ... [15:33:58.574] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.574] | : . future.stdout = FALSE, future.conditions = character(0), [15:33:58.574] | : . future.scheduling = 1, future.label = "future_replicate-%d") [15:33:58.576] | : Transpile call expression ... done [15:33:58.577] | : Evaluate transpiled call expression [15:33:58.606] | transpile() ... done [15:33:58.607] futurize() ... done character(0) [15:33:58.609] futurize() ... [15:33:58.610] | transpile() ... [15:33:58.611] | : get_transpiler() ... [15:33:58.612] | : . Finding call to be transpiled ... [15:33:58.613] | : . | descend_wrappers() ... [15:33:58.614] | : . | : Call: [15:33:58.615] | : . | : base::replicate [15:33:58.616] | : . | : parse_call() ... [15:33:58.617] | : . | : . Function: base::replicate(...) [15:33:58.618] | : . | : parse_call() ... done [15:33:58.619] | : . | descend_wrappers() ... done [15:33:58.620] | : . | parse_call() ... [15:33:58.621] | : . | : Function: base::replicate(...) [15:33:58.622] | : . | parse_call() ... done [15:33:58.622] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.623] | : . | base::replicate [15:33:58.624] | : . Finding call to be transpiled ... done [15:33:58.625] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.626] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.626] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.627] | : . | Transpiler function: [15:33:58.627] | : . | function (expr, options = NULL) [15:33:58.627] | : . | { [15:33:58.627] | : . | call <- make_call("future_replicate") [15:33:58.627] | : . | fcn <- eval(call) [15:33:58.627] | : . | expr[[1]] <- call [15:33:58.627] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.627] | : . | { [15:33:58.627] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.627] | : . | if (is.null(defaults_base)) { [15:33:58.627] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.627] | : . | } [15:33:58.627] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.627] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.627] | : . | defaults <- defaults[keep] [15:33:58.627] | : . | specified <- attr(options, "specified") [15:33:58.627] | : . | if (length(specified) > 0) { [15:33:58.627] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.627] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.627] | : . | names(options)) [15:33:58.627] | : . | } [15:33:58.627] | : . | specified <- sprintf("future.%s", specified) [15:33:58.627] | : . | names <- setdiff(names(defaults), specified) [15:33:58.627] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.627] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.627] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.627] | : . | options <- options[keep] [15:33:58.627] | : . | options [15:33:58.627] | : . | })(options, fcn)) [15:33:58.627] | : . | expr <- as.call(parts) [15:33:58.627] | : . | expr [15:33:58.627] | : . | } [15:33:58.627] | : . | [15:33:58.629] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.629] | : get_transpiler() ... done [15:33:58.630] | : Transpile call expression ... [15:33:58.631] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.631] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:58.631] | : . future.chunk.size = 1L, future.label = "future_replicate-%d") [15:33:58.634] | : Transpile call expression ... done [15:33:58.634] | : Evaluate transpiled call expression [15:33:58.663] | transpile() ... done [15:33:58.664] futurize() ... done Test with RNG: futurize(base::replicate(2, 42), seed = TRUE, flavor = "add-on") [15:33:58.665] futurize() ... [15:33:58.666] | transpile() ... [15:33:58.667] | : get_transpiler() ... [15:33:58.668] | : . Finding call to be transpiled ... [15:33:58.669] | : . | descend_wrappers() ... [15:33:58.670] | : . | : Call: [15:33:58.671] | : . | : base::replicate [15:33:58.672] | : . | : parse_call() ... [15:33:58.672] | : . | : . Function: base::replicate(...) [15:33:58.673] | : . | : parse_call() ... done [15:33:58.674] | : . | descend_wrappers() ... done [15:33:58.675] | : . | parse_call() ... [15:33:58.676] | : . | : Function: base::replicate(...) [15:33:58.677] | : . | parse_call() ... done [15:33:58.678] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.679] | : . | base::replicate [15:33:58.680] | : . Finding call to be transpiled ... done [15:33:58.680] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:33:58.681] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.682] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:33:58.683] | : . | Transpiler function: [15:33:58.684] | : . | function (expr, options = NULL) [15:33:58.684] | : . | { [15:33:58.684] | : . | call <- make_call("future_replicate") [15:33:58.684] | : . | fcn <- eval(call) [15:33:58.684] | : . | expr[[1]] <- call [15:33:58.684] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.684] | : . | { [15:33:58.684] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.684] | : . | if (is.null(defaults_base)) { [15:33:58.684] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.684] | : . | } [15:33:58.684] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.684] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.684] | : . | defaults <- defaults[keep] [15:33:58.684] | : . | specified <- attr(options, "specified") [15:33:58.684] | : . | if (length(specified) > 0) { [15:33:58.684] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.684] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.684] | : . | names(options)) [15:33:58.684] | : . | } [15:33:58.684] | : . | specified <- sprintf("future.%s", specified) [15:33:58.684] | : . | names <- setdiff(names(defaults), specified) [15:33:58.684] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.684] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.684] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.684] | : . | options <- options[keep] [15:33:58.684] | : . | options [15:33:58.684] | : . | })(options, fcn)) [15:33:58.684] | : . | expr <- as.call(parts) [15:33:58.684] | : . | expr [15:33:58.684] | : . | } [15:33:58.684] | : . | [15:33:58.686] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:33:58.687] | : get_transpiler() ... done [15:33:58.687] | : Transpile call expression ... [15:33:58.688] | : . future.apply::future_replicate(2, 42, future.seed = TRUE, future.globals = TRUE, [15:33:58.688] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:33:58.688] | : . future.label = "future_replicate-%d") [15:33:58.690] | : Transpile call expression ... done [15:33:58.691] | : Evaluate transpiled call expression [15:33:58.716] | transpile() ... done [15:33:58.717] futurize() ... done === kernapply ========================== kernapply(x = X, k = k) --------------------------------- [15:33:58.719] futurize() ... [15:33:58.720] | transpile() ... [15:33:58.721] | : get_transpiler() ... [15:33:58.721] | : . Finding call to be transpiled ... [15:33:58.722] | : . | descend_wrappers() ... [15:33:58.723] | : . | : Call: [15:33:58.723] | : . | : kernapply [15:33:58.724] | : . | : parse_call() ... [15:33:58.725] | : . | : . Function: kernapply(...) [15:33:58.725] | : . | : . Locate function ... [15:33:58.726] | : . | : . | Function located in: 'stats' [15:33:58.727] | : . | : . Locate function ... done [15:33:58.727] | : . | : parse_call() ... done [15:33:58.728] | : . | descend_wrappers() ... done [15:33:58.729] | : . | parse_call() ... [15:33:58.729] | : . | : Function: kernapply(...) [15:33:58.730] | : . | : Locate function ... [15:33:58.731] | : . | : . Function located in: 'stats' [15:33:58.731] | : . | : Locate function ... done [15:33:58.732] | : . | parse_call() ... done [15:33:58.733] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.733] | : . | kernapply [15:33:58.734] | : . Finding call to be transpiled ... done [15:33:58.735] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [15:33:58.736] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.736] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [15:33:58.737] | : . | Transpiler function: [15:33:58.738] | : . | function (expr, options = NULL) [15:33:58.738] | : . | { [15:33:58.738] | : . | call <- make_call("future_kernapply") [15:33:58.738] | : . | fcn <- eval(call) [15:33:58.738] | : . | expr[[1]] <- call [15:33:58.738] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.738] | : . | { [15:33:58.738] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.738] | : . | if (is.null(defaults_base)) { [15:33:58.738] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.738] | : . | } [15:33:58.738] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.738] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.738] | : . | defaults <- defaults[keep] [15:33:58.738] | : . | specified <- attr(options, "specified") [15:33:58.738] | : . | if (length(specified) > 0) { [15:33:58.738] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.738] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.738] | : . | names(options)) [15:33:58.738] | : . | } [15:33:58.738] | : . | specified <- sprintf("future.%s", specified) [15:33:58.738] | : . | names <- setdiff(names(defaults), specified) [15:33:58.738] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.738] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.738] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.738] | : . | options <- options[keep] [15:33:58.738] | : . | options [15:33:58.738] | : . | })(options, fcn)) [15:33:58.738] | : . | expr <- as.call(parts) [15:33:58.738] | : . | expr [15:33:58.738] | : . | } [15:33:58.738] | : . | [15:33:58.741] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [15:33:58.742] | : get_transpiler() ... done [15:33:58.743] | : Transpile call expression ... [15:33:58.744] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [15:33:58.744] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:58.744] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:58.745] | : Transpile call expression ... done [15:33:58.746] | : Evaluate transpiled call expression [15:33:58.809] | transpile() ... done [15:33:58.810] futurize() ... done Futures created: 2 [15:33:58.811] futurize() ... [15:33:58.812] | transpile() ... [15:33:58.813] | : get_transpiler() ... [15:33:58.814] | : . Finding call to be transpiled ... [15:33:58.815] | : . | descend_wrappers() ... [15:33:58.816] | : . | : Call: [15:33:58.817] | : . | : kernapply [15:33:58.818] | : . | : parse_call() ... [15:33:58.819] | : . | : . Function: kernapply(...) [15:33:58.820] | : . | : . Locate function ... [15:33:58.821] | : . | : . | Function located in: 'stats' [15:33:58.822] | : . | : . Locate function ... done [15:33:58.823] | : . | : parse_call() ... done [15:33:58.823] | : . | descend_wrappers() ... done [15:33:58.824] | : . | parse_call() ... [15:33:58.825] | : . | : Function: kernapply(...) [15:33:58.826] | : . | : Locate function ... [15:33:58.828] | : . | : . Function located in: 'stats' [15:33:58.829] | : . | : Locate function ... done [15:33:58.830] | : . | parse_call() ... done [15:33:58.830] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.831] | : . | kernapply [15:33:58.832] | : . Finding call to be transpiled ... done [15:33:58.833] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [15:33:58.834] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.835] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [15:33:58.835] | : . | Transpiler function: [15:33:58.836] | : . | function (expr, options = NULL) [15:33:58.836] | : . | { [15:33:58.836] | : . | call <- make_call("future_kernapply") [15:33:58.836] | : . | fcn <- eval(call) [15:33:58.836] | : . | expr[[1]] <- call [15:33:58.836] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.836] | : . | { [15:33:58.836] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.836] | : . | if (is.null(defaults_base)) { [15:33:58.836] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.836] | : . | } [15:33:58.836] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.836] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.836] | : . | defaults <- defaults[keep] [15:33:58.836] | : . | specified <- attr(options, "specified") [15:33:58.836] | : . | if (length(specified) > 0) { [15:33:58.836] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.836] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.836] | : . | names(options)) [15:33:58.836] | : . | } [15:33:58.836] | : . | specified <- sprintf("future.%s", specified) [15:33:58.836] | : . | names <- setdiff(names(defaults), specified) [15:33:58.836] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.836] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.836] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.836] | : . | options <- options[keep] [15:33:58.836] | : . | options [15:33:58.836] | : . | })(options, fcn)) [15:33:58.836] | : . | expr <- as.call(parts) [15:33:58.836] | : . | expr [15:33:58.836] | : . | } [15:33:58.836] | : . | [15:33:58.838] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [15:33:58.839] | : get_transpiler() ... done [15:33:58.840] | : Transpile call expression ... [15:33:58.841] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [15:33:58.841] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:58.841] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:58.843] | : Transpile call expression ... done [15:33:58.843] | : Evaluate transpiled call expression [15:33:58.899] | transpile() ... done [15:33:58.900] futurize() ... done character(0) [15:33:58.901] futurize() ... [15:33:58.902] | transpile() ... [15:33:58.903] | : get_transpiler() ... [15:33:58.904] | : . Finding call to be transpiled ... [15:33:58.905] | : . | descend_wrappers() ... [15:33:58.906] | : . | : Call: [15:33:58.907] | : . | : kernapply [15:33:58.908] | : . | : parse_call() ... [15:33:58.909] | : . | : . Function: kernapply(...) [15:33:58.910] | : . | : . Locate function ... [15:33:58.911] | : . | : . | Function located in: 'stats' [15:33:58.911] | : . | : . Locate function ... done [15:33:58.912] | : . | : parse_call() ... done [15:33:58.913] | : . | descend_wrappers() ... done [15:33:58.914] | : . | parse_call() ... [15:33:58.915] | : . | : Function: kernapply(...) [15:33:58.916] | : . | : Locate function ... [15:33:58.917] | : . | : . Function located in: 'stats' [15:33:58.918] | : . | : Locate function ... done [15:33:58.919] | : . | parse_call() ... done [15:33:58.919] | : . | Position of call to be transpiled in expression: c(1) [15:33:58.920] | : . | kernapply [15:33:58.921] | : . Finding call to be transpiled ... done [15:33:58.921] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [15:33:58.922] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:58.923] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [15:33:58.923] | : . | Transpiler function: [15:33:58.924] | : . | function (expr, options = NULL) [15:33:58.924] | : . | { [15:33:58.924] | : . | call <- make_call("future_kernapply") [15:33:58.924] | : . | fcn <- eval(call) [15:33:58.924] | : . | expr[[1]] <- call [15:33:58.924] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:58.924] | : . | { [15:33:58.924] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:58.924] | : . | if (is.null(defaults_base)) { [15:33:58.924] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:58.924] | : . | } [15:33:58.924] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:58.924] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:58.924] | : . | defaults <- defaults[keep] [15:33:58.924] | : . | specified <- attr(options, "specified") [15:33:58.924] | : . | if (length(specified) > 0) { [15:33:58.924] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:58.924] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:58.924] | : . | names(options)) [15:33:58.924] | : . | } [15:33:58.924] | : . | specified <- sprintf("future.%s", specified) [15:33:58.924] | : . | names <- setdiff(names(defaults), specified) [15:33:58.924] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:58.924] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:58.924] | : . | keep <- intersect(names(options), names(defaults)) [15:33:58.924] | : . | options <- options[keep] [15:33:58.924] | : . | options [15:33:58.924] | : . | })(options, fcn)) [15:33:58.924] | : . | expr <- as.call(parts) [15:33:58.924] | : . | expr [15:33:58.924] | : . | } [15:33:58.924] | : . | [15:33:58.925] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [15:33:58.926] | : get_transpiler() ... done [15:33:58.927] | : Transpile call expression ... [15:33:58.928] | : . future.apply::future_kernapply(x = X, k = k, future.seed = FALSE, [15:33:58.928] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:58.928] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [15:33:58.929] | : Transpile call expression ... done [15:33:58.930] | : Evaluate transpiled call expression [15:33:58.992] | transpile() ... done [15:33:58.992] futurize() ... done Test with RNG: futurize(kernapply(x = X, k = k), seed = TRUE, flavor = "add-on") [15:33:58.994] futurize() ... [15:33:58.994] | transpile() ... [15:33:58.995] | : get_transpiler() ... [15:33:58.996] | : . Finding call to be transpiled ... [15:33:58.997] | : . | descend_wrappers() ... [15:33:58.997] | : . | : Call: [15:33:58.998] | : . | : kernapply [15:33:58.999] | : . | : parse_call() ... [15:33:59.000] | : . | : . Function: kernapply(...) [15:33:59.001] | : . | : . Locate function ... [15:33:59.002] | : . | : . | Function located in: 'stats' [15:33:59.003] | : . | : . Locate function ... done [15:33:59.003] | : . | : parse_call() ... done [15:33:59.004] | : . | descend_wrappers() ... done [15:33:59.005] | : . | parse_call() ... [15:33:59.006] | : . | : Function: kernapply(...) [15:33:59.006] | : . | : Locate function ... [15:33:59.007] | : . | : . Function located in: 'stats' [15:33:59.008] | : . | : Locate function ... done [15:33:59.009] | : . | parse_call() ... done [15:33:59.010] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.010] | : . | kernapply [15:33:59.011] | : . Finding call to be transpiled ... done [15:33:59.012] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... [15:33:59.013] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.014] | : . | Transpiler description: stats::kernapply() -> future.apply::future_kernapply() [15:33:59.014] | : . | Transpiler function: [15:33:59.015] | : . | function (expr, options = NULL) [15:33:59.015] | : . | { [15:33:59.015] | : . | call <- make_call("future_kernapply") [15:33:59.015] | : . | fcn <- eval(call) [15:33:59.015] | : . | expr[[1]] <- call [15:33:59.015] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.015] | : . | { [15:33:59.015] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.015] | : . | if (is.null(defaults_base)) { [15:33:59.015] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.015] | : . | } [15:33:59.015] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.015] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.015] | : . | defaults <- defaults[keep] [15:33:59.015] | : . | specified <- attr(options, "specified") [15:33:59.015] | : . | if (length(specified) > 0) { [15:33:59.015] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.015] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.015] | : . | names(options)) [15:33:59.015] | : . | } [15:33:59.015] | : . | specified <- sprintf("future.%s", specified) [15:33:59.015] | : . | names <- setdiff(names(defaults), specified) [15:33:59.015] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.015] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.015] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.015] | : . | options <- options[keep] [15:33:59.015] | : . | options [15:33:59.015] | : . | })(options, fcn)) [15:33:59.015] | : . | expr <- as.call(parts) [15:33:59.015] | : . | expr [15:33:59.015] | : . | } [15:33:59.015] | : . | [15:33:59.017] | : . Locating 'futurize::add-on' transpiler for stats::kernapply() of class 'function' ... done [15:33:59.017] | : get_transpiler() ... done [15:33:59.018] | : Transpile call expression ... [15:33:59.020] | : . future.apply::future_kernapply(x = X, k = k, future.seed = TRUE, [15:33:59.020] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.020] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.021] | : Transpile call expression ... done [15:33:59.022] | : Evaluate transpiled call expression [15:33:59.093] | transpile() ... done [15:33:59.095] futurize() ... done === lapply ========================== lapply(X = xs, FUN = FUN) --------------------------------- [15:33:59.097] futurize() ... [15:33:59.098] | transpile() ... [15:33:59.098] | : get_transpiler() ... [15:33:59.099] | : . Finding call to be transpiled ... [15:33:59.099] | : . | descend_wrappers() ... [15:33:59.100] | : . | : Call: [15:33:59.101] | : . | : lapply [15:33:59.101] | : . | : parse_call() ... [15:33:59.102] | : . | : . Function: lapply(...) [15:33:59.102] | : . | : . Locate function ... [15:33:59.103] | : . | : . | Function located in: 'base' [15:33:59.103] | : . | : . Locate function ... done [15:33:59.104] | : . | : parse_call() ... done [15:33:59.105] | : . | descend_wrappers() ... done [15:33:59.106] | : . | parse_call() ... [15:33:59.107] | : . | : Function: lapply(...) [15:33:59.107] | : . | : Locate function ... [15:33:59.108] | : . | : . Function located in: 'base' [15:33:59.109] | : . | : Locate function ... done [15:33:59.110] | : . | parse_call() ... done [15:33:59.111] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.112] | : . | lapply [15:33:59.113] | : . Finding call to be transpiled ... done [15:33:59.113] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.114] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.115] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.115] | : . | Transpiler function: [15:33:59.116] | : . | function (expr, options = NULL) [15:33:59.116] | : . | { [15:33:59.116] | : . | call <- make_call("future_lapply") [15:33:59.116] | : . | fcn <- eval(call) [15:33:59.116] | : . | expr[[1]] <- call [15:33:59.116] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.116] | : . | { [15:33:59.116] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.116] | : . | if (is.null(defaults_base)) { [15:33:59.116] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.116] | : . | } [15:33:59.116] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.116] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.116] | : . | defaults <- defaults[keep] [15:33:59.116] | : . | specified <- attr(options, "specified") [15:33:59.116] | : . | if (length(specified) > 0) { [15:33:59.116] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.116] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.116] | : . | names(options)) [15:33:59.116] | : . | } [15:33:59.116] | : . | specified <- sprintf("future.%s", specified) [15:33:59.116] | : . | names <- setdiff(names(defaults), specified) [15:33:59.116] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.116] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.116] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.116] | : . | options <- options[keep] [15:33:59.116] | : . | options [15:33:59.116] | : . | })(options, fcn)) [15:33:59.116] | : . | expr <- as.call(parts) [15:33:59.116] | : . | expr [15:33:59.116] | : . | } [15:33:59.116] | : . | [15:33:59.118] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.119] | : get_transpiler() ... done [15:33:59.119] | : Transpile call expression ... [15:33:59.120] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:59.120] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.120] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.122] | : Transpile call expression ... done [15:33:59.122] | : Evaluate transpiled call expression [15:33:59.187] | transpile() ... done [15:33:59.188] futurize() ... done Futures created: 2 [15:33:59.190] futurize() ... [15:33:59.191] | transpile() ... [15:33:59.192] | : get_transpiler() ... [15:33:59.193] | : . Finding call to be transpiled ... [15:33:59.195] | : . | descend_wrappers() ... [15:33:59.196] | : . | : Call: [15:33:59.197] | : . | : lapply [15:33:59.198] | : . | : parse_call() ... [15:33:59.199] | : . | : . Function: lapply(...) [15:33:59.200] | : . | : . Locate function ... [15:33:59.201] | : . | : . | Function located in: 'base' [15:33:59.203] | : . | : . Locate function ... done [15:33:59.204] | : . | : parse_call() ... done [15:33:59.205] | : . | descend_wrappers() ... done [15:33:59.206] | : . | parse_call() ... [15:33:59.207] | : . | : Function: lapply(...) [15:33:59.208] | : . | : Locate function ... [15:33:59.209] | : . | : . Function located in: 'base' [15:33:59.210] | : . | : Locate function ... done [15:33:59.211] | : . | parse_call() ... done [15:33:59.211] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.212] | : . | lapply [15:33:59.213] | : . Finding call to be transpiled ... done [15:33:59.214] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.215] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.216] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.217] | : . | Transpiler function: [15:33:59.218] | : . | function (expr, options = NULL) [15:33:59.218] | : . | { [15:33:59.218] | : . | call <- make_call("future_lapply") [15:33:59.218] | : . | fcn <- eval(call) [15:33:59.218] | : . | expr[[1]] <- call [15:33:59.218] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.218] | : . | { [15:33:59.218] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.218] | : . | if (is.null(defaults_base)) { [15:33:59.218] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.218] | : . | } [15:33:59.218] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.218] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.218] | : . | defaults <- defaults[keep] [15:33:59.218] | : . | specified <- attr(options, "specified") [15:33:59.218] | : . | if (length(specified) > 0) { [15:33:59.218] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.218] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.218] | : . | names(options)) [15:33:59.218] | : . | } [15:33:59.218] | : . | specified <- sprintf("future.%s", specified) [15:33:59.218] | : . | names <- setdiff(names(defaults), specified) [15:33:59.218] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.218] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.218] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.218] | : . | options <- options[keep] [15:33:59.218] | : . | options [15:33:59.218] | : . | })(options, fcn)) [15:33:59.218] | : . | expr <- as.call(parts) [15:33:59.218] | : . | expr [15:33:59.218] | : . | } [15:33:59.218] | : . | [15:33:59.220] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.221] | : get_transpiler() ... done [15:33:59.221] | : Transpile call expression ... [15:33:59.223] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:59.223] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:59.223] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.225] | : Transpile call expression ... done [15:33:59.225] | : Evaluate transpiled call expression [15:33:59.283] | transpile() ... done [15:33:59.284] futurize() ... done character(0) [15:33:59.285] futurize() ... [15:33:59.286] | transpile() ... [15:33:59.286] | : get_transpiler() ... [15:33:59.287] | : . Finding call to be transpiled ... [15:33:59.288] | : . | descend_wrappers() ... [15:33:59.289] | : . | : Call: [15:33:59.290] | : . | : lapply [15:33:59.291] | : . | : parse_call() ... [15:33:59.292] | : . | : . Function: lapply(...) [15:33:59.292] | : . | : . Locate function ... [15:33:59.293] | : . | : . | Function located in: 'base' [15:33:59.294] | : . | : . Locate function ... done [15:33:59.295] | : . | : parse_call() ... done [15:33:59.296] | : . | descend_wrappers() ... done [15:33:59.297] | : . | parse_call() ... [15:33:59.298] | : . | : Function: lapply(...) [15:33:59.298] | : . | : Locate function ... [15:33:59.299] | : . | : . Function located in: 'base' [15:33:59.300] | : . | : Locate function ... done [15:33:59.301] | : . | parse_call() ... done [15:33:59.302] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.303] | : . | lapply [15:33:59.304] | : . Finding call to be transpiled ... done [15:33:59.304] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.305] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.306] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.307] | : . | Transpiler function: [15:33:59.307] | : . | function (expr, options = NULL) [15:33:59.307] | : . | { [15:33:59.307] | : . | call <- make_call("future_lapply") [15:33:59.307] | : . | fcn <- eval(call) [15:33:59.307] | : . | expr[[1]] <- call [15:33:59.307] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.307] | : . | { [15:33:59.307] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.307] | : . | if (is.null(defaults_base)) { [15:33:59.307] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.307] | : . | } [15:33:59.307] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.307] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.307] | : . | defaults <- defaults[keep] [15:33:59.307] | : . | specified <- attr(options, "specified") [15:33:59.307] | : . | if (length(specified) > 0) { [15:33:59.307] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.307] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.307] | : . | names(options)) [15:33:59.307] | : . | } [15:33:59.307] | : . | specified <- sprintf("future.%s", specified) [15:33:59.307] | : . | names <- setdiff(names(defaults), specified) [15:33:59.307] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.307] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.307] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.307] | : . | options <- options[keep] [15:33:59.307] | : . | options [15:33:59.307] | : . | })(options, fcn)) [15:33:59.307] | : . | expr <- as.call(parts) [15:33:59.307] | : . | expr [15:33:59.307] | : . | } [15:33:59.307] | : . | [15:33:59.309] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.310] | : get_transpiler() ... done [15:33:59.311] | : Transpile call expression ... [15:33:59.312] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:59.312] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.312] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [15:33:59.313] | : Transpile call expression ... done [15:33:59.314] | : Evaluate transpiled call expression [15:33:59.472] | transpile() ... done [15:33:59.473] futurize() ... done Test with RNG: futurize(lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [15:33:59.475] futurize() ... [15:33:59.476] | transpile() ... [15:33:59.476] | : get_transpiler() ... [15:33:59.477] | : . Finding call to be transpiled ... [15:33:59.478] | : . | descend_wrappers() ... [15:33:59.479] | : . | : Call: [15:33:59.480] | : . | : lapply [15:33:59.481] | : . | : parse_call() ... [15:33:59.482] | : . | : . Function: lapply(...) [15:33:59.482] | : . | : . Locate function ... [15:33:59.483] | : . | : . | Function located in: 'base' [15:33:59.484] | : . | : . Locate function ... done [15:33:59.485] | : . | : parse_call() ... done [15:33:59.486] | : . | descend_wrappers() ... done [15:33:59.486] | : . | parse_call() ... [15:33:59.487] | : . | : Function: lapply(...) [15:33:59.488] | : . | : Locate function ... [15:33:59.489] | : . | : . Function located in: 'base' [15:33:59.489] | : . | : Locate function ... done [15:33:59.490] | : . | parse_call() ... done [15:33:59.491] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.492] | : . | lapply [15:33:59.493] | : . Finding call to be transpiled ... done [15:33:59.494] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.494] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.495] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.496] | : . | Transpiler function: [15:33:59.497] | : . | function (expr, options = NULL) [15:33:59.497] | : . | { [15:33:59.497] | : . | call <- make_call("future_lapply") [15:33:59.497] | : . | fcn <- eval(call) [15:33:59.497] | : . | expr[[1]] <- call [15:33:59.497] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.497] | : . | { [15:33:59.497] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.497] | : . | if (is.null(defaults_base)) { [15:33:59.497] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.497] | : . | } [15:33:59.497] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.497] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.497] | : . | defaults <- defaults[keep] [15:33:59.497] | : . | specified <- attr(options, "specified") [15:33:59.497] | : . | if (length(specified) > 0) { [15:33:59.497] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.497] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.497] | : . | names(options)) [15:33:59.497] | : . | } [15:33:59.497] | : . | specified <- sprintf("future.%s", specified) [15:33:59.497] | : . | names <- setdiff(names(defaults), specified) [15:33:59.497] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.497] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.497] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.497] | : . | options <- options[keep] [15:33:59.497] | : . | options [15:33:59.497] | : . | })(options, fcn)) [15:33:59.497] | : . | expr <- as.call(parts) [15:33:59.497] | : . | expr [15:33:59.497] | : . | } [15:33:59.497] | : . | [15:33:59.498] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.499] | : get_transpiler() ... done [15:33:59.500] | : Transpile call expression ... [15:33:59.501] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [15:33:59.501] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.501] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.503] | : Transpile call expression ... done [15:33:59.504] | : Evaluate transpiled call expression [15:33:59.566] | transpile() ... done [15:33:59.567] futurize() ... done === lapply ========================== base::lapply(X = xs, FUN = FUN) --------------------------------- [15:33:59.569] futurize() ... [15:33:59.569] | transpile() ... [15:33:59.570] | : get_transpiler() ... [15:33:59.571] | : . Finding call to be transpiled ... [15:33:59.572] | : . | descend_wrappers() ... [15:33:59.572] | : . | : Call: [15:33:59.573] | : . | : base::lapply [15:33:59.574] | : . | : parse_call() ... [15:33:59.575] | : . | : . Function: base::lapply(...) [15:33:59.575] | : . | : parse_call() ... done [15:33:59.576] | : . | descend_wrappers() ... done [15:33:59.577] | : . | parse_call() ... [15:33:59.578] | : . | : Function: base::lapply(...) [15:33:59.578] | : . | parse_call() ... done [15:33:59.579] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.580] | : . | base::lapply [15:33:59.581] | : . Finding call to be transpiled ... done [15:33:59.582] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.582] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.583] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.584] | : . | Transpiler function: [15:33:59.585] | : . | function (expr, options = NULL) [15:33:59.585] | : . | { [15:33:59.585] | : . | call <- make_call("future_lapply") [15:33:59.585] | : . | fcn <- eval(call) [15:33:59.585] | : . | expr[[1]] <- call [15:33:59.585] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.585] | : . | { [15:33:59.585] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.585] | : . | if (is.null(defaults_base)) { [15:33:59.585] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.585] | : . | } [15:33:59.585] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.585] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.585] | : . | defaults <- defaults[keep] [15:33:59.585] | : . | specified <- attr(options, "specified") [15:33:59.585] | : . | if (length(specified) > 0) { [15:33:59.585] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.585] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.585] | : . | names(options)) [15:33:59.585] | : . | } [15:33:59.585] | : . | specified <- sprintf("future.%s", specified) [15:33:59.585] | : . | names <- setdiff(names(defaults), specified) [15:33:59.585] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.585] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.585] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.585] | : . | options <- options[keep] [15:33:59.585] | : . | options [15:33:59.585] | : . | })(options, fcn)) [15:33:59.585] | : . | expr <- as.call(parts) [15:33:59.585] | : . | expr [15:33:59.585] | : . | } [15:33:59.585] | : . | [15:33:59.586] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.587] | : get_transpiler() ... done [15:33:59.588] | : Transpile call expression ... [15:33:59.589] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:59.589] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.589] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.590] | : Transpile call expression ... done [15:33:59.591] | : Evaluate transpiled call expression [15:33:59.642] | transpile() ... done [15:33:59.643] futurize() ... done Futures created: 2 [15:33:59.644] futurize() ... [15:33:59.645] | transpile() ... [15:33:59.646] | : get_transpiler() ... [15:33:59.647] | : . Finding call to be transpiled ... [15:33:59.647] | : . | descend_wrappers() ... [15:33:59.648] | : . | : Call: [15:33:59.649] | : . | : base::lapply [15:33:59.650] | : . | : parse_call() ... [15:33:59.651] | : . | : . Function: base::lapply(...) [15:33:59.652] | : . | : parse_call() ... done [15:33:59.653] | : . | descend_wrappers() ... done [15:33:59.653] | : . | parse_call() ... [15:33:59.654] | : . | : Function: base::lapply(...) [15:33:59.655] | : . | parse_call() ... done [15:33:59.655] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.656] | : . | base::lapply [15:33:59.657] | : . Finding call to be transpiled ... done [15:33:59.658] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.659] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.659] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.660] | : . | Transpiler function: [15:33:59.661] | : . | function (expr, options = NULL) [15:33:59.661] | : . | { [15:33:59.661] | : . | call <- make_call("future_lapply") [15:33:59.661] | : . | fcn <- eval(call) [15:33:59.661] | : . | expr[[1]] <- call [15:33:59.661] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.661] | : . | { [15:33:59.661] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.661] | : . | if (is.null(defaults_base)) { [15:33:59.661] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.661] | : . | } [15:33:59.661] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.661] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.661] | : . | defaults <- defaults[keep] [15:33:59.661] | : . | specified <- attr(options, "specified") [15:33:59.661] | : . | if (length(specified) > 0) { [15:33:59.661] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.661] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.661] | : . | names(options)) [15:33:59.661] | : . | } [15:33:59.661] | : . | specified <- sprintf("future.%s", specified) [15:33:59.661] | : . | names <- setdiff(names(defaults), specified) [15:33:59.661] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.661] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.661] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.661] | : . | options <- options[keep] [15:33:59.661] | : . | options [15:33:59.661] | : . | })(options, fcn)) [15:33:59.661] | : . | expr <- as.call(parts) [15:33:59.661] | : . | expr [15:33:59.661] | : . | } [15:33:59.661] | : . | [15:33:59.663] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.663] | : get_transpiler() ... done [15:33:59.664] | : Transpile call expression ... [15:33:59.665] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:59.665] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:33:59.665] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.667] | : Transpile call expression ... done [15:33:59.668] | : Evaluate transpiled call expression [15:33:59.734] | transpile() ... done [15:33:59.735] futurize() ... done character(0) [15:33:59.737] futurize() ... [15:33:59.738] | transpile() ... [15:33:59.739] | : get_transpiler() ... [15:33:59.739] | : . Finding call to be transpiled ... [15:33:59.740] | : . | descend_wrappers() ... [15:33:59.741] | : . | : Call: [15:33:59.742] | : . | : base::lapply [15:33:59.744] | : . | : parse_call() ... [15:33:59.744] | : . | : . Function: base::lapply(...) [15:33:59.745] | : . | : parse_call() ... done [15:33:59.746] | : . | descend_wrappers() ... done [15:33:59.747] | : . | parse_call() ... [15:33:59.748] | : . | : Function: base::lapply(...) [15:33:59.749] | : . | parse_call() ... done [15:33:59.750] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.751] | : . | base::lapply [15:33:59.752] | : . Finding call to be transpiled ... done [15:33:59.753] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.754] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.755] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.756] | : . | Transpiler function: [15:33:59.757] | : . | function (expr, options = NULL) [15:33:59.757] | : . | { [15:33:59.757] | : . | call <- make_call("future_lapply") [15:33:59.757] | : . | fcn <- eval(call) [15:33:59.757] | : . | expr[[1]] <- call [15:33:59.757] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.757] | : . | { [15:33:59.757] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.757] | : . | if (is.null(defaults_base)) { [15:33:59.757] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.757] | : . | } [15:33:59.757] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.757] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.757] | : . | defaults <- defaults[keep] [15:33:59.757] | : . | specified <- attr(options, "specified") [15:33:59.757] | : . | if (length(specified) > 0) { [15:33:59.757] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.757] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.757] | : . | names(options)) [15:33:59.757] | : . | } [15:33:59.757] | : . | specified <- sprintf("future.%s", specified) [15:33:59.757] | : . | names <- setdiff(names(defaults), specified) [15:33:59.757] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.757] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.757] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.757] | : . | options <- options[keep] [15:33:59.757] | : . | options [15:33:59.757] | : . | })(options, fcn)) [15:33:59.757] | : . | expr <- as.call(parts) [15:33:59.757] | : . | expr [15:33:59.757] | : . | } [15:33:59.757] | : . | [15:33:59.759] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.759] | : get_transpiler() ... done [15:33:59.760] | : Transpile call expression ... [15:33:59.762] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = FALSE, [15:33:59.762] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.762] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_lapply-%d") [15:33:59.764] | : Transpile call expression ... done [15:33:59.765] | : Evaluate transpiled call expression [15:33:59.925] | transpile() ... done [15:33:59.926] futurize() ... done Test with RNG: futurize(base::lapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [15:33:59.928] futurize() ... [15:33:59.928] | transpile() ... [15:33:59.929] | : get_transpiler() ... [15:33:59.930] | : . Finding call to be transpiled ... [15:33:59.931] | : . | descend_wrappers() ... [15:33:59.931] | : . | : Call: [15:33:59.932] | : . | : base::lapply [15:33:59.933] | : . | : parse_call() ... [15:33:59.934] | : . | : . Function: base::lapply(...) [15:33:59.935] | : . | : parse_call() ... done [15:33:59.935] | : . | descend_wrappers() ... done [15:33:59.936] | : . | parse_call() ... [15:33:59.937] | : . | : Function: base::lapply(...) [15:33:59.938] | : . | parse_call() ... done [15:33:59.939] | : . | Position of call to be transpiled in expression: c(1) [15:33:59.939] | : . | base::lapply [15:33:59.940] | : . Finding call to be transpiled ... done [15:33:59.941] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:33:59.942] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:33:59.943] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:33:59.943] | : . | Transpiler function: [15:33:59.944] | : . | function (expr, options = NULL) [15:33:59.944] | : . | { [15:33:59.944] | : . | call <- make_call("future_lapply") [15:33:59.944] | : . | fcn <- eval(call) [15:33:59.944] | : . | expr[[1]] <- call [15:33:59.944] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:33:59.944] | : . | { [15:33:59.944] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:33:59.944] | : . | if (is.null(defaults_base)) { [15:33:59.944] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:33:59.944] | : . | } [15:33:59.944] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:33:59.944] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:33:59.944] | : . | defaults <- defaults[keep] [15:33:59.944] | : . | specified <- attr(options, "specified") [15:33:59.944] | : . | if (length(specified) > 0) { [15:33:59.944] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:33:59.944] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:33:59.944] | : . | names(options)) [15:33:59.944] | : . | } [15:33:59.944] | : . | specified <- sprintf("future.%s", specified) [15:33:59.944] | : . | names <- setdiff(names(defaults), specified) [15:33:59.944] | : . | names(options) <- sprintf("future.%s", names(options)) [15:33:59.944] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:33:59.944] | : . | keep <- intersect(names(options), names(defaults)) [15:33:59.944] | : . | options <- options[keep] [15:33:59.944] | : . | options [15:33:59.944] | : . | })(options, fcn)) [15:33:59.944] | : . | expr <- as.call(parts) [15:33:59.944] | : . | expr [15:33:59.944] | : . | } [15:33:59.944] | : . | [15:33:59.946] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:33:59.947] | : get_transpiler() ... done [15:33:59.947] | : Transpile call expression ... [15:33:59.949] | : . future.apply::future_lapply(X = xs, FUN = FUN, future.seed = TRUE, [15:33:59.949] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:33:59.949] | : . future.scheduling = 1, future.label = "future_lapply-%d") [15:33:59.951] | : Transpile call expression ... done [15:33:59.951] | : Evaluate transpiled call expression [15:34:00.012] | transpile() ... done [15:34:00.013] futurize() ... done === sapply ========================== sapply(X = xs, FUN = FUN) --------------------------------- [15:34:00.015] futurize() ... [15:34:00.016] | transpile() ... [15:34:00.017] | : get_transpiler() ... [15:34:00.017] | : . Finding call to be transpiled ... [15:34:00.018] | : . | descend_wrappers() ... [15:34:00.019] | : . | : Call: [15:34:00.020] | : . | : sapply [15:34:00.025] | : . | : parse_call() ... [15:34:00.026] | : . | : . Function: sapply(...) [15:34:00.026] | : . | : . Locate function ... [15:34:00.027] | : . | : . | Function located in: 'base' [15:34:00.028] | : . | : . Locate function ... done [15:34:00.029] | : . | : parse_call() ... done [15:34:00.030] | : . | descend_wrappers() ... done [15:34:00.031] | : . | parse_call() ... [15:34:00.032] | : . | : Function: sapply(...) [15:34:00.033] | : . | : Locate function ... [15:34:00.034] | : . | : . Function located in: 'base' [15:34:00.035] | : . | : Locate function ... done [15:34:00.036] | : . | parse_call() ... done [15:34:00.037] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.037] | : . | sapply [15:34:00.039] | : . Finding call to be transpiled ... done [15:34:00.040] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.041] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.042] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.043] | : . | Transpiler function: [15:34:00.043] | : . | function (expr, options = NULL) [15:34:00.043] | : . | { [15:34:00.043] | : . | call <- make_call("future_sapply") [15:34:00.043] | : . | fcn <- eval(call) [15:34:00.043] | : . | expr[[1]] <- call [15:34:00.043] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.043] | : . | { [15:34:00.043] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.043] | : . | if (is.null(defaults_base)) { [15:34:00.043] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.043] | : . | } [15:34:00.043] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.043] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.043] | : . | defaults <- defaults[keep] [15:34:00.043] | : . | specified <- attr(options, "specified") [15:34:00.043] | : . | if (length(specified) > 0) { [15:34:00.043] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.043] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.043] | : . | names(options)) [15:34:00.043] | : . | } [15:34:00.043] | : . | specified <- sprintf("future.%s", specified) [15:34:00.043] | : . | names <- setdiff(names(defaults), specified) [15:34:00.043] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.043] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.043] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.043] | : . | options <- options[keep] [15:34:00.043] | : . | options [15:34:00.043] | : . | })(options, fcn)) [15:34:00.043] | : . | expr <- as.call(parts) [15:34:00.043] | : . | expr [15:34:00.043] | : . | } [15:34:00.043] | : . | [15:34:00.045] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.046] | : get_transpiler() ... done [15:34:00.047] | : Transpile call expression ... [15:34:00.049] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:34:00.049] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:00.049] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:34:00.051] | : Transpile call expression ... done [15:34:00.052] | : Evaluate transpiled call expression [15:34:00.113] | transpile() ... done [15:34:00.114] futurize() ... done Futures created: 2 [15:34:00.115] futurize() ... [15:34:00.116] | transpile() ... [15:34:00.116] | : get_transpiler() ... [15:34:00.116] | : . Finding call to be transpiled ... [15:34:00.117] | : . | descend_wrappers() ... [15:34:00.117] | : . | : Call: [15:34:00.118] | : . | : sapply [15:34:00.118] | : . | : parse_call() ... [15:34:00.119] | : . | : . Function: sapply(...) [15:34:00.120] | : . | : . Locate function ... [15:34:00.120] | : . | : . | Function located in: 'base' [15:34:00.121] | : . | : . Locate function ... done [15:34:00.121] | : . | : parse_call() ... done [15:34:00.122] | : . | descend_wrappers() ... done [15:34:00.122] | : . | parse_call() ... [15:34:00.123] | : . | : Function: sapply(...) [15:34:00.123] | : . | : Locate function ... [15:34:00.124] | : . | : . Function located in: 'base' [15:34:00.124] | : . | : Locate function ... done [15:34:00.125] | : . | parse_call() ... done [15:34:00.125] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.126] | : . | sapply [15:34:00.126] | : . Finding call to be transpiled ... done [15:34:00.127] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.127] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.128] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.128] | : . | Transpiler function: [15:34:00.129] | : . | function (expr, options = NULL) [15:34:00.129] | : . | { [15:34:00.129] | : . | call <- make_call("future_sapply") [15:34:00.129] | : . | fcn <- eval(call) [15:34:00.129] | : . | expr[[1]] <- call [15:34:00.129] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.129] | : . | { [15:34:00.129] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.129] | : . | if (is.null(defaults_base)) { [15:34:00.129] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.129] | : . | } [15:34:00.129] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.129] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.129] | : . | defaults <- defaults[keep] [15:34:00.129] | : . | specified <- attr(options, "specified") [15:34:00.129] | : . | if (length(specified) > 0) { [15:34:00.129] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.129] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.129] | : . | names(options)) [15:34:00.129] | : . | } [15:34:00.129] | : . | specified <- sprintf("future.%s", specified) [15:34:00.129] | : . | names <- setdiff(names(defaults), specified) [15:34:00.129] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.129] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.129] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.129] | : . | options <- options[keep] [15:34:00.129] | : . | options [15:34:00.129] | : . | })(options, fcn)) [15:34:00.129] | : . | expr <- as.call(parts) [15:34:00.129] | : . | expr [15:34:00.129] | : . | } [15:34:00.129] | : . | [15:34:00.130] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.131] | : get_transpiler() ... done [15:34:00.132] | : Transpile call expression ... [15:34:00.134] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:34:00.134] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:34:00.134] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:34:00.136] | : Transpile call expression ... done [15:34:00.137] | : Evaluate transpiled call expression [15:34:00.235] | transpile() ... done [15:34:00.236] futurize() ... done character(0) [15:34:00.237] futurize() ... [15:34:00.238] | transpile() ... [15:34:00.239] | : get_transpiler() ... [15:34:00.239] | : . Finding call to be transpiled ... [15:34:00.240] | : . | descend_wrappers() ... [15:34:00.241] | : . | : Call: [15:34:00.242] | : . | : sapply [15:34:00.243] | : . | : parse_call() ... [15:34:00.244] | : . | : . Function: sapply(...) [15:34:00.244] | : . | : . Locate function ... [15:34:00.245] | : . | : . | Function located in: 'base' [15:34:00.246] | : . | : . Locate function ... done [15:34:00.247] | : . | : parse_call() ... done [15:34:00.248] | : . | descend_wrappers() ... done [15:34:00.248] | : . | parse_call() ... [15:34:00.249] | : . | : Function: sapply(...) [15:34:00.250] | : . | : Locate function ... [15:34:00.251] | : . | : . Function located in: 'base' [15:34:00.252] | : . | : Locate function ... done [15:34:00.253] | : . | parse_call() ... done [15:34:00.253] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.254] | : . | sapply [15:34:00.255] | : . Finding call to be transpiled ... done [15:34:00.256] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.257] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.258] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.259] | : . | Transpiler function: [15:34:00.259] | : . | function (expr, options = NULL) [15:34:00.259] | : . | { [15:34:00.259] | : . | call <- make_call("future_sapply") [15:34:00.259] | : . | fcn <- eval(call) [15:34:00.259] | : . | expr[[1]] <- call [15:34:00.259] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.259] | : . | { [15:34:00.259] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.259] | : . | if (is.null(defaults_base)) { [15:34:00.259] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.259] | : . | } [15:34:00.259] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.259] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.259] | : . | defaults <- defaults[keep] [15:34:00.259] | : . | specified <- attr(options, "specified") [15:34:00.259] | : . | if (length(specified) > 0) { [15:34:00.259] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.259] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.259] | : . | names(options)) [15:34:00.259] | : . | } [15:34:00.259] | : . | specified <- sprintf("future.%s", specified) [15:34:00.259] | : . | names <- setdiff(names(defaults), specified) [15:34:00.259] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.259] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.259] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.259] | : . | options <- options[keep] [15:34:00.259] | : . | options [15:34:00.259] | : . | })(options, fcn)) [15:34:00.259] | : . | expr <- as.call(parts) [15:34:00.259] | : . | expr [15:34:00.259] | : . | } [15:34:00.259] | : . | [15:34:00.261] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.262] | : get_transpiler() ... done [15:34:00.263] | : Transpile call expression ... [15:34:00.264] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:34:00.264] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:00.264] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [15:34:00.266] | : Transpile call expression ... done [15:34:00.266] | : Evaluate transpiled call expression [15:34:00.411] | transpile() ... done [15:34:00.412] futurize() ... done Test with RNG: futurize(sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [15:34:00.413] futurize() ... [15:34:00.414] | transpile() ... [15:34:00.415] | : get_transpiler() ... [15:34:00.416] | : . Finding call to be transpiled ... [15:34:00.417] | : . | descend_wrappers() ... [15:34:00.418] | : . | : Call: [15:34:00.419] | : . | : sapply [15:34:00.421] | : . | : parse_call() ... [15:34:00.422] | : . | : . Function: sapply(...) [15:34:00.422] | : . | : . Locate function ... [15:34:00.423] | : . | : . | Function located in: 'base' [15:34:00.424] | : . | : . Locate function ... done [15:34:00.425] | : . | : parse_call() ... done [15:34:00.426] | : . | descend_wrappers() ... done [15:34:00.427] | : . | parse_call() ... [15:34:00.428] | : . | : Function: sapply(...) [15:34:00.429] | : . | : Locate function ... [15:34:00.430] | : . | : . Function located in: 'base' [15:34:00.431] | : . | : Locate function ... done [15:34:00.432] | : . | parse_call() ... done [15:34:00.433] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.434] | : . | sapply [15:34:00.435] | : . Finding call to be transpiled ... done [15:34:00.436] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.437] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.438] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.439] | : . | Transpiler function: [15:34:00.440] | : . | function (expr, options = NULL) [15:34:00.440] | : . | { [15:34:00.440] | : . | call <- make_call("future_sapply") [15:34:00.440] | : . | fcn <- eval(call) [15:34:00.440] | : . | expr[[1]] <- call [15:34:00.440] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.440] | : . | { [15:34:00.440] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.440] | : . | if (is.null(defaults_base)) { [15:34:00.440] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.440] | : . | } [15:34:00.440] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.440] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.440] | : . | defaults <- defaults[keep] [15:34:00.440] | : . | specified <- attr(options, "specified") [15:34:00.440] | : . | if (length(specified) > 0) { [15:34:00.440] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.440] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.440] | : . | names(options)) [15:34:00.440] | : . | } [15:34:00.440] | : . | specified <- sprintf("future.%s", specified) [15:34:00.440] | : . | names <- setdiff(names(defaults), specified) [15:34:00.440] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.440] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.440] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.440] | : . | options <- options[keep] [15:34:00.440] | : . | options [15:34:00.440] | : . | })(options, fcn)) [15:34:00.440] | : . | expr <- as.call(parts) [15:34:00.440] | : . | expr [15:34:00.440] | : . | } [15:34:00.440] | : . | [15:34:00.441] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.442] | : get_transpiler() ... done [15:34:00.443] | : Transpile call expression ... [15:34:00.444] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [15:34:00.444] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:00.444] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:34:00.446] | : Transpile call expression ... done [15:34:00.447] | : Evaluate transpiled call expression [15:34:00.516] | transpile() ... done [15:34:00.518] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN) --------------------------------- [15:34:00.520] futurize() ... [15:34:00.521] | transpile() ... [15:34:00.522] | : get_transpiler() ... [15:34:00.523] | : . Finding call to be transpiled ... [15:34:00.524] | : . | descend_wrappers() ... [15:34:00.525] | : . | : Call: [15:34:00.526] | : . | : base::sapply [15:34:00.527] | : . | : parse_call() ... [15:34:00.528] | : . | : . Function: base::sapply(...) [15:34:00.529] | : . | : parse_call() ... done [15:34:00.530] | : . | descend_wrappers() ... done [15:34:00.531] | : . | parse_call() ... [15:34:00.532] | : . | : Function: base::sapply(...) [15:34:00.533] | : . | parse_call() ... done [15:34:00.534] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.535] | : . | base::sapply [15:34:00.536] | : . Finding call to be transpiled ... done [15:34:00.537] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.538] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.539] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.540] | : . | Transpiler function: [15:34:00.541] | : . | function (expr, options = NULL) [15:34:00.541] | : . | { [15:34:00.541] | : . | call <- make_call("future_sapply") [15:34:00.541] | : . | fcn <- eval(call) [15:34:00.541] | : . | expr[[1]] <- call [15:34:00.541] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.541] | : . | { [15:34:00.541] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.541] | : . | if (is.null(defaults_base)) { [15:34:00.541] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.541] | : . | } [15:34:00.541] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.541] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.541] | : . | defaults <- defaults[keep] [15:34:00.541] | : . | specified <- attr(options, "specified") [15:34:00.541] | : . | if (length(specified) > 0) { [15:34:00.541] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.541] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.541] | : . | names(options)) [15:34:00.541] | : . | } [15:34:00.541] | : . | specified <- sprintf("future.%s", specified) [15:34:00.541] | : . | names <- setdiff(names(defaults), specified) [15:34:00.541] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.541] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.541] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.541] | : . | options <- options[keep] [15:34:00.541] | : . | options [15:34:00.541] | : . | })(options, fcn)) [15:34:00.541] | : . | expr <- as.call(parts) [15:34:00.541] | : . | expr [15:34:00.541] | : . | } [15:34:00.541] | : . | [15:34:00.543] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.544] | : get_transpiler() ... done [15:34:00.545] | : Transpile call expression ... [15:34:00.546] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:34:00.546] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:00.546] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:34:00.548] | : Transpile call expression ... done [15:34:00.549] | : Evaluate transpiled call expression [15:34:00.682] | transpile() ... done [15:34:00.683] futurize() ... done Futures created: 2 [15:34:00.685] futurize() ... [15:34:00.686] | transpile() ... [15:34:00.687] | : get_transpiler() ... [15:34:00.688] | : . Finding call to be transpiled ... [15:34:00.689] | : . | descend_wrappers() ... [15:34:00.690] | : . | : Call: [15:34:00.692] | : . | : base::sapply [15:34:00.693] | : . | : parse_call() ... [15:34:00.694] | : . | : . Function: base::sapply(...) [15:34:00.695] | : . | : parse_call() ... done [15:34:00.696] | : . | descend_wrappers() ... done [15:34:00.698] | : . | parse_call() ... [15:34:00.699] | : . | : Function: base::sapply(...) [15:34:00.700] | : . | parse_call() ... done [15:34:00.701] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.702] | : . | base::sapply [15:34:00.703] | : . Finding call to be transpiled ... done [15:34:00.704] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.706] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.707] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.708] | : . | Transpiler function: [15:34:00.709] | : . | function (expr, options = NULL) [15:34:00.709] | : . | { [15:34:00.709] | : . | call <- make_call("future_sapply") [15:34:00.709] | : . | fcn <- eval(call) [15:34:00.709] | : . | expr[[1]] <- call [15:34:00.709] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.709] | : . | { [15:34:00.709] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.709] | : . | if (is.null(defaults_base)) { [15:34:00.709] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.709] | : . | } [15:34:00.709] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.709] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.709] | : . | defaults <- defaults[keep] [15:34:00.709] | : . | specified <- attr(options, "specified") [15:34:00.709] | : . | if (length(specified) > 0) { [15:34:00.709] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.709] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.709] | : . | names(options)) [15:34:00.709] | : . | } [15:34:00.709] | : . | specified <- sprintf("future.%s", specified) [15:34:00.709] | : . | names <- setdiff(names(defaults), specified) [15:34:00.709] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.709] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.709] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.709] | : . | options <- options[keep] [15:34:00.709] | : . | options [15:34:00.709] | : . | })(options, fcn)) [15:34:00.709] | : . | expr <- as.call(parts) [15:34:00.709] | : . | expr [15:34:00.709] | : . | } [15:34:00.709] | : . | [15:34:00.711] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.712] | : get_transpiler() ... done [15:34:00.713] | : Transpile call expression ... [15:34:00.715] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:34:00.715] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:34:00.715] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:34:00.717] | : Transpile call expression ... done [15:34:00.718] | : Evaluate transpiled call expression [15:34:00.795] | transpile() ... done [15:34:00.796] futurize() ... done character(0) [15:34:00.797] futurize() ... [15:34:00.798] | transpile() ... [15:34:00.798] | : get_transpiler() ... [15:34:00.799] | : . Finding call to be transpiled ... [15:34:00.800] | : . | descend_wrappers() ... [15:34:00.801] | : . | : Call: [15:34:00.802] | : . | : base::sapply [15:34:00.803] | : . | : parse_call() ... [15:34:00.804] | : . | : . Function: base::sapply(...) [15:34:00.805] | : . | : parse_call() ... done [15:34:00.806] | : . | descend_wrappers() ... done [15:34:00.807] | : . | parse_call() ... [15:34:00.807] | : . | : Function: base::sapply(...) [15:34:00.808] | : . | parse_call() ... done [15:34:00.809] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.810] | : . | base::sapply [15:34:00.811] | : . Finding call to be transpiled ... done [15:34:00.812] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.813] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.814] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.814] | : . | Transpiler function: [15:34:00.815] | : . | function (expr, options = NULL) [15:34:00.815] | : . | { [15:34:00.815] | : . | call <- make_call("future_sapply") [15:34:00.815] | : . | fcn <- eval(call) [15:34:00.815] | : . | expr[[1]] <- call [15:34:00.815] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.815] | : . | { [15:34:00.815] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.815] | : . | if (is.null(defaults_base)) { [15:34:00.815] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.815] | : . | } [15:34:00.815] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.815] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.815] | : . | defaults <- defaults[keep] [15:34:00.815] | : . | specified <- attr(options, "specified") [15:34:00.815] | : . | if (length(specified) > 0) { [15:34:00.815] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.815] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.815] | : . | names(options)) [15:34:00.815] | : . | } [15:34:00.815] | : . | specified <- sprintf("future.%s", specified) [15:34:00.815] | : . | names <- setdiff(names(defaults), specified) [15:34:00.815] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.815] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.815] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.815] | : . | options <- options[keep] [15:34:00.815] | : . | options [15:34:00.815] | : . | })(options, fcn)) [15:34:00.815] | : . | expr <- as.call(parts) [15:34:00.815] | : . | expr [15:34:00.815] | : . | } [15:34:00.815] | : . | [15:34:00.817] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:00.818] | : get_transpiler() ... done [15:34:00.818] | : Transpile call expression ... [15:34:00.820] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = FALSE, [15:34:00.820] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:00.820] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_sapply-%d") [15:34:00.821] | : Transpile call expression ... done [15:34:00.822] | : Evaluate transpiled call expression [15:34:00.973] | transpile() ... done [15:34:00.975] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN), seed = TRUE, flavor = "built-in") [15:34:00.976] futurize() ... [15:34:00.977] | transpile() ... [15:34:00.978] | : get_transpiler() ... [15:34:00.979] | : . Finding call to be transpiled ... [15:34:00.980] | : . | descend_wrappers() ... [15:34:00.981] | : . | : Call: [15:34:00.982] | : . | : base::sapply [15:34:00.984] | : . | : parse_call() ... [15:34:00.985] | : . | : . Function: base::sapply(...) [15:34:00.986] | : . | : parse_call() ... done [15:34:00.987] | : . | descend_wrappers() ... done [15:34:00.988] | : . | parse_call() ... [15:34:00.989] | : . | : Function: base::sapply(...) [15:34:00.990] | : . | parse_call() ... done [15:34:00.991] | : . | Position of call to be transpiled in expression: c(1) [15:34:00.992] | : . | base::sapply [15:34:00.993] | : . Finding call to be transpiled ... done [15:34:00.994] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:00.995] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:00.996] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:00.997] | : . | Transpiler function: [15:34:00.998] | : . | function (expr, options = NULL) [15:34:00.998] | : . | { [15:34:00.998] | : . | call <- make_call("future_sapply") [15:34:00.998] | : . | fcn <- eval(call) [15:34:00.998] | : . | expr[[1]] <- call [15:34:00.998] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:00.998] | : . | { [15:34:00.998] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:00.998] | : . | if (is.null(defaults_base)) { [15:34:00.998] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:00.998] | : . | } [15:34:00.998] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:00.998] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:00.998] | : . | defaults <- defaults[keep] [15:34:00.998] | : . | specified <- attr(options, "specified") [15:34:00.998] | : . | if (length(specified) > 0) { [15:34:00.998] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:00.998] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:00.998] | : . | names(options)) [15:34:00.998] | : . | } [15:34:00.998] | : . | specified <- sprintf("future.%s", specified) [15:34:00.998] | : . | names <- setdiff(names(defaults), specified) [15:34:00.998] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:00.998] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:00.998] | : . | keep <- intersect(names(options), names(defaults)) [15:34:00.998] | : . | options <- options[keep] [15:34:00.998] | : . | options [15:34:00.998] | : . | })(options, fcn)) [15:34:00.998] | : . | expr <- as.call(parts) [15:34:00.998] | : . | expr [15:34:00.998] | : . | } [15:34:00.998] | : . | [15:34:01.000] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.001] | : get_transpiler() ... done [15:34:01.002] | : Transpile call expression ... [15:34:01.003] | : . future.apply::future_sapply(X = xs, FUN = FUN, future.seed = TRUE, [15:34:01.003] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:01.003] | : . future.scheduling = 1, future.label = "future_sapply-%d") [15:34:01.005] | : Transpile call expression ... done [15:34:01.006] | : Evaluate transpiled call expression [15:34:01.084] | transpile() ... done [15:34:01.086] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, simplify = FALSE) --------------------------------- [15:34:01.088] futurize() ... [15:34:01.089] | transpile() ... [15:34:01.090] | : get_transpiler() ... [15:34:01.091] | : . Finding call to be transpiled ... [15:34:01.092] | : . | descend_wrappers() ... [15:34:01.093] | : . | : Call: [15:34:01.094] | : . | : base::sapply [15:34:01.095] | : . | : parse_call() ... [15:34:01.096] | : . | : . Function: base::sapply(...) [15:34:01.098] | : . | : parse_call() ... done [15:34:01.099] | : . | descend_wrappers() ... done [15:34:01.099] | : . | parse_call() ... [15:34:01.100] | : . | : Function: base::sapply(...) [15:34:01.101] | : . | parse_call() ... done [15:34:01.102] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.103] | : . | base::sapply [15:34:01.104] | : . Finding call to be transpiled ... done [15:34:01.105] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.106] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.107] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.108] | : . | Transpiler function: [15:34:01.109] | : . | function (expr, options = NULL) [15:34:01.109] | : . | { [15:34:01.109] | : . | call <- make_call("future_sapply") [15:34:01.109] | : . | fcn <- eval(call) [15:34:01.109] | : . | expr[[1]] <- call [15:34:01.109] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.109] | : . | { [15:34:01.109] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.109] | : . | if (is.null(defaults_base)) { [15:34:01.109] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.109] | : . | } [15:34:01.109] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.109] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.109] | : . | defaults <- defaults[keep] [15:34:01.109] | : . | specified <- attr(options, "specified") [15:34:01.109] | : . | if (length(specified) > 0) { [15:34:01.109] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.109] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.109] | : . | names(options)) [15:34:01.109] | : . | } [15:34:01.109] | : . | specified <- sprintf("future.%s", specified) [15:34:01.109] | : . | names <- setdiff(names(defaults), specified) [15:34:01.109] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.109] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.109] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.109] | : . | options <- options[keep] [15:34:01.109] | : . | options [15:34:01.109] | : . | })(options, fcn)) [15:34:01.109] | : . | expr <- as.call(parts) [15:34:01.109] | : . | expr [15:34:01.109] | : . | } [15:34:01.109] | : . | [15:34:01.111] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.112] | : get_transpiler() ... done [15:34:01.113] | : Transpile call expression ... [15:34:01.114] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:34:01.114] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.114] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:34:01.116] | : Transpile call expression ... done [15:34:01.117] | : Evaluate transpiled call expression [15:34:01.178] | transpile() ... done [15:34:01.179] futurize() ... done Futures created: 2 [15:34:01.180] futurize() ... [15:34:01.181] | transpile() ... [15:34:01.182] | : get_transpiler() ... [15:34:01.183] | : . Finding call to be transpiled ... [15:34:01.183] | : . | descend_wrappers() ... [15:34:01.184] | : . | : Call: [15:34:01.185] | : . | : base::sapply [15:34:01.186] | : . | : parse_call() ... [15:34:01.186] | : . | : . Function: base::sapply(...) [15:34:01.187] | : . | : parse_call() ... done [15:34:01.188] | : . | descend_wrappers() ... done [15:34:01.189] | : . | parse_call() ... [15:34:01.190] | : . | : Function: base::sapply(...) [15:34:01.190] | : . | parse_call() ... done [15:34:01.191] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.192] | : . | base::sapply [15:34:01.193] | : . Finding call to be transpiled ... done [15:34:01.193] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.194] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.195] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.195] | : . | Transpiler function: [15:34:01.196] | : . | function (expr, options = NULL) [15:34:01.196] | : . | { [15:34:01.196] | : . | call <- make_call("future_sapply") [15:34:01.196] | : . | fcn <- eval(call) [15:34:01.196] | : . | expr[[1]] <- call [15:34:01.196] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.196] | : . | { [15:34:01.196] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.196] | : . | if (is.null(defaults_base)) { [15:34:01.196] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.196] | : . | } [15:34:01.196] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.196] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.196] | : . | defaults <- defaults[keep] [15:34:01.196] | : . | specified <- attr(options, "specified") [15:34:01.196] | : . | if (length(specified) > 0) { [15:34:01.196] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.196] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.196] | : . | names(options)) [15:34:01.196] | : . | } [15:34:01.196] | : . | specified <- sprintf("future.%s", specified) [15:34:01.196] | : . | names <- setdiff(names(defaults), specified) [15:34:01.196] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.196] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.196] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.196] | : . | options <- options[keep] [15:34:01.196] | : . | options [15:34:01.196] | : . | })(options, fcn)) [15:34:01.196] | : . | expr <- as.call(parts) [15:34:01.196] | : . | expr [15:34:01.196] | : . | } [15:34:01.196] | : . | [15:34:01.197] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.198] | : get_transpiler() ... done [15:34:01.199] | : Transpile call expression ... [15:34:01.200] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:34:01.200] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:34:01.200] | : . future.conditions = character(0), future.scheduling = 1, [15:34:01.200] | : . future.label = "future_sapply-%d") [15:34:01.202] | : Transpile call expression ... done [15:34:01.203] | : Evaluate transpiled call expression [15:34:01.248] | transpile() ... done [15:34:01.249] futurize() ... done character(0) [15:34:01.250] futurize() ... [15:34:01.251] | transpile() ... [15:34:01.252] | : get_transpiler() ... [15:34:01.253] | : . Finding call to be transpiled ... [15:34:01.253] | : . | descend_wrappers() ... [15:34:01.254] | : . | : Call: [15:34:01.255] | : . | : base::sapply [15:34:01.255] | : . | : parse_call() ... [15:34:01.256] | : . | : . Function: base::sapply(...) [15:34:01.257] | : . | : parse_call() ... done [15:34:01.258] | : . | descend_wrappers() ... done [15:34:01.258] | : . | parse_call() ... [15:34:01.259] | : . | : Function: base::sapply(...) [15:34:01.260] | : . | parse_call() ... done [15:34:01.260] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.261] | : . | base::sapply [15:34:01.262] | : . Finding call to be transpiled ... done [15:34:01.263] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.263] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.264] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.265] | : . | Transpiler function: [15:34:01.265] | : . | function (expr, options = NULL) [15:34:01.265] | : . | { [15:34:01.265] | : . | call <- make_call("future_sapply") [15:34:01.265] | : . | fcn <- eval(call) [15:34:01.265] | : . | expr[[1]] <- call [15:34:01.265] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.265] | : . | { [15:34:01.265] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.265] | : . | if (is.null(defaults_base)) { [15:34:01.265] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.265] | : . | } [15:34:01.265] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.265] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.265] | : . | defaults <- defaults[keep] [15:34:01.265] | : . | specified <- attr(options, "specified") [15:34:01.265] | : . | if (length(specified) > 0) { [15:34:01.265] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.265] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.265] | : . | names(options)) [15:34:01.265] | : . | } [15:34:01.265] | : . | specified <- sprintf("future.%s", specified) [15:34:01.265] | : . | names <- setdiff(names(defaults), specified) [15:34:01.265] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.265] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.265] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.265] | : . | options <- options[keep] [15:34:01.265] | : . | options [15:34:01.265] | : . | })(options, fcn)) [15:34:01.265] | : . | expr <- as.call(parts) [15:34:01.265] | : . | expr [15:34:01.265] | : . | } [15:34:01.265] | : . | [15:34:01.267] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.268] | : get_transpiler() ... done [15:34:01.268] | : Transpile call expression ... [15:34:01.269] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:34:01.269] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.269] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:34:01.269] | : . future.label = "future_sapply-%d") [15:34:01.271] | : Transpile call expression ... done [15:34:01.272] | : Evaluate transpiled call expression [15:34:01.405] | transpile() ... done [15:34:01.406] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, simplify = FALSE), seed = TRUE, flavor = "built-in") [15:34:01.407] futurize() ... [15:34:01.407] | transpile() ... [15:34:01.408] | : get_transpiler() ... [15:34:01.409] | : . Finding call to be transpiled ... [15:34:01.409] | : . | descend_wrappers() ... [15:34:01.410] | : . | : Call: [15:34:01.410] | : . | : base::sapply [15:34:01.411] | : . | : parse_call() ... [15:34:01.412] | : . | : . Function: base::sapply(...) [15:34:01.412] | : . | : parse_call() ... done [15:34:01.413] | : . | descend_wrappers() ... done [15:34:01.413] | : . | parse_call() ... [15:34:01.414] | : . | : Function: base::sapply(...) [15:34:01.415] | : . | parse_call() ... done [15:34:01.415] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.416] | : . | base::sapply [15:34:01.416] | : . Finding call to be transpiled ... done [15:34:01.417] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.417] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.418] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.419] | : . | Transpiler function: [15:34:01.419] | : . | function (expr, options = NULL) [15:34:01.419] | : . | { [15:34:01.419] | : . | call <- make_call("future_sapply") [15:34:01.419] | : . | fcn <- eval(call) [15:34:01.419] | : . | expr[[1]] <- call [15:34:01.419] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.419] | : . | { [15:34:01.419] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.419] | : . | if (is.null(defaults_base)) { [15:34:01.419] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.419] | : . | } [15:34:01.419] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.419] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.419] | : . | defaults <- defaults[keep] [15:34:01.419] | : . | specified <- attr(options, "specified") [15:34:01.419] | : . | if (length(specified) > 0) { [15:34:01.419] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.419] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.419] | : . | names(options)) [15:34:01.419] | : . | } [15:34:01.419] | : . | specified <- sprintf("future.%s", specified) [15:34:01.419] | : . | names <- setdiff(names(defaults), specified) [15:34:01.419] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.419] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.419] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.419] | : . | options <- options[keep] [15:34:01.419] | : . | options [15:34:01.419] | : . | })(options, fcn)) [15:34:01.419] | : . | expr <- as.call(parts) [15:34:01.419] | : . | expr [15:34:01.419] | : . | } [15:34:01.419] | : . | [15:34:01.420] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.421] | : get_transpiler() ... done [15:34:01.421] | : Transpile call expression ... [15:34:01.422] | : . future.apply::future_sapply(X = xs, FUN = FUN, simplify = FALSE, [15:34:01.422] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.422] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:34:01.424] | : Transpile call expression ... done [15:34:01.424] | : Evaluate transpiled call expression [15:34:01.478] | transpile() ... done [15:34:01.480] futurize() ... done === sapply ========================== base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [15:34:01.482] futurize() ... [15:34:01.482] | transpile() ... [15:34:01.483] | : get_transpiler() ... [15:34:01.484] | : . Finding call to be transpiled ... [15:34:01.485] | : . | descend_wrappers() ... [15:34:01.486] | : . | : Call: [15:34:01.486] | : . | : base::sapply [15:34:01.488] | : . | : parse_call() ... [15:34:01.488] | : . | : . Function: base::sapply(...) [15:34:01.489] | : . | : parse_call() ... done [15:34:01.490] | : . | descend_wrappers() ... done [15:34:01.491] | : . | parse_call() ... [15:34:01.492] | : . | : Function: base::sapply(...) [15:34:01.492] | : . | parse_call() ... done [15:34:01.493] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.494] | : . | base::sapply [15:34:01.495] | : . Finding call to be transpiled ... done [15:34:01.496] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.497] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.497] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.498] | : . | Transpiler function: [15:34:01.499] | : . | function (expr, options = NULL) [15:34:01.499] | : . | { [15:34:01.499] | : . | call <- make_call("future_sapply") [15:34:01.499] | : . | fcn <- eval(call) [15:34:01.499] | : . | expr[[1]] <- call [15:34:01.499] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.499] | : . | { [15:34:01.499] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.499] | : . | if (is.null(defaults_base)) { [15:34:01.499] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.499] | : . | } [15:34:01.499] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.499] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.499] | : . | defaults <- defaults[keep] [15:34:01.499] | : . | specified <- attr(options, "specified") [15:34:01.499] | : . | if (length(specified) > 0) { [15:34:01.499] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.499] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.499] | : . | names(options)) [15:34:01.499] | : . | } [15:34:01.499] | : . | specified <- sprintf("future.%s", specified) [15:34:01.499] | : . | names <- setdiff(names(defaults), specified) [15:34:01.499] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.499] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.499] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.499] | : . | options <- options[keep] [15:34:01.499] | : . | options [15:34:01.499] | : . | })(options, fcn)) [15:34:01.499] | : . | expr <- as.call(parts) [15:34:01.499] | : . | expr [15:34:01.499] | : . | } [15:34:01.499] | : . | [15:34:01.501] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.502] | : get_transpiler() ... done [15:34:01.503] | : Transpile call expression ... [15:34:01.504] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:34:01.504] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.504] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:34:01.506] | : Transpile call expression ... done [15:34:01.507] | : Evaluate transpiled call expression [15:34:01.551] | transpile() ... done [15:34:01.552] futurize() ... done Futures created: 2 [15:34:01.553] futurize() ... [15:34:01.554] | transpile() ... [15:34:01.555] | : get_transpiler() ... [15:34:01.556] | : . Finding call to be transpiled ... [15:34:01.557] | : . | descend_wrappers() ... [15:34:01.558] | : . | : Call: [15:34:01.558] | : . | : base::sapply [15:34:01.559] | : . | : parse_call() ... [15:34:01.560] | : . | : . Function: base::sapply(...) [15:34:01.562] | : . | : parse_call() ... done [15:34:01.563] | : . | descend_wrappers() ... done [15:34:01.564] | : . | parse_call() ... [15:34:01.565] | : . | : Function: base::sapply(...) [15:34:01.566] | : . | parse_call() ... done [15:34:01.567] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.568] | : . | base::sapply [15:34:01.569] | : . Finding call to be transpiled ... done [15:34:01.570] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.571] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.572] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.573] | : . | Transpiler function: [15:34:01.574] | : . | function (expr, options = NULL) [15:34:01.574] | : . | { [15:34:01.574] | : . | call <- make_call("future_sapply") [15:34:01.574] | : . | fcn <- eval(call) [15:34:01.574] | : . | expr[[1]] <- call [15:34:01.574] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.574] | : . | { [15:34:01.574] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.574] | : . | if (is.null(defaults_base)) { [15:34:01.574] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.574] | : . | } [15:34:01.574] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.574] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.574] | : . | defaults <- defaults[keep] [15:34:01.574] | : . | specified <- attr(options, "specified") [15:34:01.574] | : . | if (length(specified) > 0) { [15:34:01.574] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.574] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.574] | : . | names(options)) [15:34:01.574] | : . | } [15:34:01.574] | : . | specified <- sprintf("future.%s", specified) [15:34:01.574] | : . | names <- setdiff(names(defaults), specified) [15:34:01.574] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.574] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.574] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.574] | : . | options <- options[keep] [15:34:01.574] | : . | options [15:34:01.574] | : . | })(options, fcn)) [15:34:01.574] | : . | expr <- as.call(parts) [15:34:01.574] | : . | expr [15:34:01.574] | : . | } [15:34:01.574] | : . | [15:34:01.576] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.577] | : get_transpiler() ... done [15:34:01.578] | : Transpile call expression ... [15:34:01.579] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:34:01.579] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:34:01.579] | : . future.conditions = character(0), future.scheduling = 1, [15:34:01.579] | : . future.label = "future_sapply-%d") [15:34:01.592] | : Transpile call expression ... done [15:34:01.593] | : Evaluate transpiled call expression [15:34:01.656] | transpile() ... done [15:34:01.657] futurize() ... done character(0) [15:34:01.658] futurize() ... [15:34:01.658] | transpile() ... [15:34:01.659] | : get_transpiler() ... [15:34:01.659] | : . Finding call to be transpiled ... [15:34:01.660] | : . | descend_wrappers() ... [15:34:01.660] | : . | : Call: [15:34:01.661] | : . | : base::sapply [15:34:01.661] | : . | : parse_call() ... [15:34:01.662] | : . | : . Function: base::sapply(...) [15:34:01.662] | : . | : parse_call() ... done [15:34:01.663] | : . | descend_wrappers() ... done [15:34:01.663] | : . | parse_call() ... [15:34:01.664] | : . | : Function: base::sapply(...) [15:34:01.664] | : . | parse_call() ... done [15:34:01.665] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.665] | : . | base::sapply [15:34:01.666] | : . Finding call to be transpiled ... done [15:34:01.666] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.667] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.667] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.668] | : . | Transpiler function: [15:34:01.668] | : . | function (expr, options = NULL) [15:34:01.668] | : . | { [15:34:01.668] | : . | call <- make_call("future_sapply") [15:34:01.668] | : . | fcn <- eval(call) [15:34:01.668] | : . | expr[[1]] <- call [15:34:01.668] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.668] | : . | { [15:34:01.668] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.668] | : . | if (is.null(defaults_base)) { [15:34:01.668] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.668] | : . | } [15:34:01.668] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.668] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.668] | : . | defaults <- defaults[keep] [15:34:01.668] | : . | specified <- attr(options, "specified") [15:34:01.668] | : . | if (length(specified) > 0) { [15:34:01.668] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.668] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.668] | : . | names(options)) [15:34:01.668] | : . | } [15:34:01.668] | : . | specified <- sprintf("future.%s", specified) [15:34:01.668] | : . | names <- setdiff(names(defaults), specified) [15:34:01.668] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.668] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.668] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.668] | : . | options <- options[keep] [15:34:01.668] | : . | options [15:34:01.668] | : . | })(options, fcn)) [15:34:01.668] | : . | expr <- as.call(parts) [15:34:01.668] | : . | expr [15:34:01.668] | : . | } [15:34:01.668] | : . | [15:34:01.669] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.669] | : get_transpiler() ... done [15:34:01.670] | : Transpile call expression ... [15:34:01.671] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:34:01.671] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.671] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:34:01.671] | : . future.label = "future_sapply-%d") [15:34:01.672] | : Transpile call expression ... done [15:34:01.672] | : Evaluate transpiled call expression [15:34:01.801] | transpile() ... done [15:34:01.802] futurize() ... done Test with RNG: futurize(base::sapply(X = xs, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [15:34:01.804] futurize() ... [15:34:01.805] | transpile() ... [15:34:01.806] | : get_transpiler() ... [15:34:01.807] | : . Finding call to be transpiled ... [15:34:01.808] | : . | descend_wrappers() ... [15:34:01.808] | : . | : Call: [15:34:01.809] | : . | : base::sapply [15:34:01.810] | : . | : parse_call() ... [15:34:01.811] | : . | : . Function: base::sapply(...) [15:34:01.812] | : . | : parse_call() ... done [15:34:01.813] | : . | descend_wrappers() ... done [15:34:01.814] | : . | parse_call() ... [15:34:01.815] | : . | : Function: base::sapply(...) [15:34:01.816] | : . | parse_call() ... done [15:34:01.817] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.818] | : . | base::sapply [15:34:01.819] | : . Finding call to be transpiled ... done [15:34:01.820] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... [15:34:01.821] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.822] | : . | Transpiler description: base::sapply() -> future.apply::future_sapply() [15:34:01.823] | : . | Transpiler function: [15:34:01.824] | : . | function (expr, options = NULL) [15:34:01.824] | : . | { [15:34:01.824] | : . | call <- make_call("future_sapply") [15:34:01.824] | : . | fcn <- eval(call) [15:34:01.824] | : . | expr[[1]] <- call [15:34:01.824] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.824] | : . | { [15:34:01.824] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.824] | : . | if (is.null(defaults_base)) { [15:34:01.824] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.824] | : . | } [15:34:01.824] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.824] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.824] | : . | defaults <- defaults[keep] [15:34:01.824] | : . | specified <- attr(options, "specified") [15:34:01.824] | : . | if (length(specified) > 0) { [15:34:01.824] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.824] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.824] | : . | names(options)) [15:34:01.824] | : . | } [15:34:01.824] | : . | specified <- sprintf("future.%s", specified) [15:34:01.824] | : . | names <- setdiff(names(defaults), specified) [15:34:01.824] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.824] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.824] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.824] | : . | options <- options[keep] [15:34:01.824] | : . | options [15:34:01.824] | : . | })(options, fcn)) [15:34:01.824] | : . | expr <- as.call(parts) [15:34:01.824] | : . | expr [15:34:01.824] | : . | } [15:34:01.824] | : . | [15:34:01.826] | : . Locating 'futurize::add-on' transpiler for base::sapply() of class 'function' ... done [15:34:01.827] | : get_transpiler() ... done [15:34:01.828] | : Transpile call expression ... [15:34:01.829] | : . future.apply::future_sapply(X = xs, FUN = FUN, USE.NAMES = FALSE, [15:34:01.829] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.829] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_sapply-%d") [15:34:01.831] | : Transpile call expression ... done [15:34:01.832] | : Evaluate transpiled call expression [15:34:01.903] | transpile() ... done [15:34:01.905] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN) --------------------------------- [15:34:01.907] futurize() ... [15:34:01.908] | transpile() ... [15:34:01.909] | : get_transpiler() ... [15:34:01.910] | : . Finding call to be transpiled ... [15:34:01.911] | : . | descend_wrappers() ... [15:34:01.912] | : . | : Call: [15:34:01.913] | : . | : base::vapply [15:34:01.914] | : . | : parse_call() ... [15:34:01.915] | : . | : . Function: base::vapply(...) [15:34:01.916] | : . | : parse_call() ... done [15:34:01.921] | : . | descend_wrappers() ... done [15:34:01.922] | : . | parse_call() ... [15:34:01.924] | : . | : Function: base::vapply(...) [15:34:01.925] | : . | parse_call() ... done [15:34:01.926] | : . | Position of call to be transpiled in expression: c(1) [15:34:01.927] | : . | base::vapply [15:34:01.928] | : . Finding call to be transpiled ... done [15:34:01.929] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:01.930] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:01.930] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:01.931] | : . | Transpiler function: [15:34:01.932] | : . | function (expr, options = NULL) [15:34:01.932] | : . | { [15:34:01.932] | : . | call <- make_call("future_vapply") [15:34:01.932] | : . | fcn <- eval(call) [15:34:01.932] | : . | expr[[1]] <- call [15:34:01.932] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:01.932] | : . | { [15:34:01.932] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:01.932] | : . | if (is.null(defaults_base)) { [15:34:01.932] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:01.932] | : . | } [15:34:01.932] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:01.932] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:01.932] | : . | defaults <- defaults[keep] [15:34:01.932] | : . | specified <- attr(options, "specified") [15:34:01.932] | : . | if (length(specified) > 0) { [15:34:01.932] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:01.932] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:01.932] | : . | names(options)) [15:34:01.932] | : . | } [15:34:01.932] | : . | specified <- sprintf("future.%s", specified) [15:34:01.932] | : . | names <- setdiff(names(defaults), specified) [15:34:01.932] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:01.932] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:01.932] | : . | keep <- intersect(names(options), names(defaults)) [15:34:01.932] | : . | options <- options[keep] [15:34:01.932] | : . | options [15:34:01.932] | : . | })(options, fcn)) [15:34:01.932] | : . | expr <- as.call(parts) [15:34:01.932] | : . | expr [15:34:01.932] | : . | } [15:34:01.932] | : . | [15:34:01.933] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:01.933] | : get_transpiler() ... done [15:34:01.934] | : Transpile call expression ... [15:34:01.935] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:01.935] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:01.935] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [15:34:01.936] | : Transpile call expression ... done [15:34:01.937] | : Evaluate transpiled call expression [15:34:02.024] | transpile() ... done [15:34:02.026] futurize() ... done Futures created: 2 [15:34:02.027] futurize() ... [15:34:02.028] | transpile() ... [15:34:02.029] | : get_transpiler() ... [15:34:02.029] | : . Finding call to be transpiled ... [15:34:02.030] | : . | descend_wrappers() ... [15:34:02.031] | : . | : Call: [15:34:02.032] | : . | : base::vapply [15:34:02.034] | : . | : parse_call() ... [15:34:02.035] | : . | : . Function: base::vapply(...) [15:34:02.036] | : . | : parse_call() ... done [15:34:02.036] | : . | descend_wrappers() ... done [15:34:02.037] | : . | parse_call() ... [15:34:02.038] | : . | : Function: base::vapply(...) [15:34:02.039] | : . | parse_call() ... done [15:34:02.040] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.040] | : . | base::vapply [15:34:02.041] | : . Finding call to be transpiled ... done [15:34:02.042] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.043] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.044] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.045] | : . | Transpiler function: [15:34:02.045] | : . | function (expr, options = NULL) [15:34:02.045] | : . | { [15:34:02.045] | : . | call <- make_call("future_vapply") [15:34:02.045] | : . | fcn <- eval(call) [15:34:02.045] | : . | expr[[1]] <- call [15:34:02.045] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.045] | : . | { [15:34:02.045] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.045] | : . | if (is.null(defaults_base)) { [15:34:02.045] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.045] | : . | } [15:34:02.045] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.045] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.045] | : . | defaults <- defaults[keep] [15:34:02.045] | : . | specified <- attr(options, "specified") [15:34:02.045] | : . | if (length(specified) > 0) { [15:34:02.045] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.045] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.045] | : . | names(options)) [15:34:02.045] | : . | } [15:34:02.045] | : . | specified <- sprintf("future.%s", specified) [15:34:02.045] | : . | names <- setdiff(names(defaults), specified) [15:34:02.045] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.045] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.045] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.045] | : . | options <- options[keep] [15:34:02.045] | : . | options [15:34:02.045] | : . | })(options, fcn)) [15:34:02.045] | : . | expr <- as.call(parts) [15:34:02.045] | : . | expr [15:34:02.045] | : . | } [15:34:02.045] | : . | [15:34:02.047] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.048] | : get_transpiler() ... done [15:34:02.048] | : Transpile call expression ... [15:34:02.050] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.050] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:34:02.050] | : . future.conditions = character(0), future.scheduling = 1, [15:34:02.050] | : . future.label = "future_vapply-%d") [15:34:02.052] | : Transpile call expression ... done [15:34:02.052] | : Evaluate transpiled call expression [15:34:02.135] | transpile() ... done [15:34:02.136] futurize() ... done character(0) [15:34:02.138] futurize() ... [15:34:02.138] | transpile() ... [15:34:02.139] | : get_transpiler() ... [15:34:02.140] | : . Finding call to be transpiled ... [15:34:02.140] | : . | descend_wrappers() ... [15:34:02.141] | : . | : Call: [15:34:02.141] | : . | : base::vapply [15:34:02.142] | : . | : parse_call() ... [15:34:02.143] | : . | : . Function: base::vapply(...) [15:34:02.143] | : . | : parse_call() ... done [15:34:02.144] | : . | descend_wrappers() ... done [15:34:02.144] | : . | parse_call() ... [15:34:02.145] | : . | : Function: base::vapply(...) [15:34:02.146] | : . | parse_call() ... done [15:34:02.147] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.148] | : . | base::vapply [15:34:02.149] | : . Finding call to be transpiled ... done [15:34:02.150] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.151] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.152] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.153] | : . | Transpiler function: [15:34:02.154] | : . | function (expr, options = NULL) [15:34:02.154] | : . | { [15:34:02.154] | : . | call <- make_call("future_vapply") [15:34:02.154] | : . | fcn <- eval(call) [15:34:02.154] | : . | expr[[1]] <- call [15:34:02.154] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.154] | : . | { [15:34:02.154] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.154] | : . | if (is.null(defaults_base)) { [15:34:02.154] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.154] | : . | } [15:34:02.154] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.154] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.154] | : . | defaults <- defaults[keep] [15:34:02.154] | : . | specified <- attr(options, "specified") [15:34:02.154] | : . | if (length(specified) > 0) { [15:34:02.154] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.154] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.154] | : . | names(options)) [15:34:02.154] | : . | } [15:34:02.154] | : . | specified <- sprintf("future.%s", specified) [15:34:02.154] | : . | names <- setdiff(names(defaults), specified) [15:34:02.154] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.154] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.154] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.154] | : . | options <- options[keep] [15:34:02.154] | : . | options [15:34:02.154] | : . | })(options, fcn)) [15:34:02.154] | : . | expr <- as.call(parts) [15:34:02.154] | : . | expr [15:34:02.154] | : . | } [15:34:02.154] | : . | [15:34:02.156] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.157] | : get_transpiler() ... done [15:34:02.158] | : Transpile call expression ... [15:34:02.160] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.160] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:02.160] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:34:02.160] | : . future.label = "future_vapply-%d") [15:34:02.162] | : Transpile call expression ... done [15:34:02.163] | : Evaluate transpiled call expression [15:34:02.333] | transpile() ... done [15:34:02.334] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN), seed = TRUE, flavor = "built-in") [15:34:02.335] futurize() ... [15:34:02.336] | transpile() ... [15:34:02.337] | : get_transpiler() ... [15:34:02.338] | : . Finding call to be transpiled ... [15:34:02.338] | : . | descend_wrappers() ... [15:34:02.339] | : . | : Call: [15:34:02.340] | : . | : base::vapply [15:34:02.341] | : . | : parse_call() ... [15:34:02.342] | : . | : . Function: base::vapply(...) [15:34:02.343] | : . | : parse_call() ... done [15:34:02.343] | : . | descend_wrappers() ... done [15:34:02.344] | : . | parse_call() ... [15:34:02.345] | : . | : Function: base::vapply(...) [15:34:02.346] | : . | parse_call() ... done [15:34:02.347] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.347] | : . | base::vapply [15:34:02.348] | : . Finding call to be transpiled ... done [15:34:02.349] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.350] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.350] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.351] | : . | Transpiler function: [15:34:02.351] | : . | function (expr, options = NULL) [15:34:02.351] | : . | { [15:34:02.351] | : . | call <- make_call("future_vapply") [15:34:02.351] | : . | fcn <- eval(call) [15:34:02.351] | : . | expr[[1]] <- call [15:34:02.351] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.351] | : . | { [15:34:02.351] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.351] | : . | if (is.null(defaults_base)) { [15:34:02.351] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.351] | : . | } [15:34:02.351] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.351] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.351] | : . | defaults <- defaults[keep] [15:34:02.351] | : . | specified <- attr(options, "specified") [15:34:02.351] | : . | if (length(specified) > 0) { [15:34:02.351] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.351] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.351] | : . | names(options)) [15:34:02.351] | : . | } [15:34:02.351] | : . | specified <- sprintf("future.%s", specified) [15:34:02.351] | : . | names <- setdiff(names(defaults), specified) [15:34:02.351] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.351] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.351] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.351] | : . | options <- options[keep] [15:34:02.351] | : . | options [15:34:02.351] | : . | })(options, fcn)) [15:34:02.351] | : . | expr <- as.call(parts) [15:34:02.351] | : . | expr [15:34:02.351] | : . | } [15:34:02.351] | : . | [15:34:02.352] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.353] | : get_transpiler() ... done [15:34:02.353] | : Transpile call expression ... [15:34:02.354] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.354] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:34:02.354] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_vapply-%d") [15:34:02.356] | : Transpile call expression ... done [15:34:02.356] | : Evaluate transpiled call expression [15:34:02.439] | transpile() ... done [15:34:02.440] futurize() ... done === vapply ========================== base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [15:34:02.442] futurize() ... [15:34:02.442] | transpile() ... [15:34:02.443] | : get_transpiler() ... [15:34:02.443] | : . Finding call to be transpiled ... [15:34:02.444] | : . | descend_wrappers() ... [15:34:02.444] | : . | : Call: [15:34:02.445] | : . | : base::vapply [15:34:02.445] | : . | : parse_call() ... [15:34:02.446] | : . | : . Function: base::vapply(...) [15:34:02.446] | : . | : parse_call() ... done [15:34:02.447] | : . | descend_wrappers() ... done [15:34:02.447] | : . | parse_call() ... [15:34:02.448] | : . | : Function: base::vapply(...) [15:34:02.448] | : . | parse_call() ... done [15:34:02.449] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.449] | : . | base::vapply [15:34:02.450] | : . Finding call to be transpiled ... done [15:34:02.450] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.451] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.451] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.452] | : . | Transpiler function: [15:34:02.452] | : . | function (expr, options = NULL) [15:34:02.452] | : . | { [15:34:02.452] | : . | call <- make_call("future_vapply") [15:34:02.452] | : . | fcn <- eval(call) [15:34:02.452] | : . | expr[[1]] <- call [15:34:02.452] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.452] | : . | { [15:34:02.452] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.452] | : . | if (is.null(defaults_base)) { [15:34:02.452] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.452] | : . | } [15:34:02.452] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.452] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.452] | : . | defaults <- defaults[keep] [15:34:02.452] | : . | specified <- attr(options, "specified") [15:34:02.452] | : . | if (length(specified) > 0) { [15:34:02.452] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.452] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.452] | : . | names(options)) [15:34:02.452] | : . | } [15:34:02.452] | : . | specified <- sprintf("future.%s", specified) [15:34:02.452] | : . | names <- setdiff(names(defaults), specified) [15:34:02.452] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.452] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.452] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.452] | : . | options <- options[keep] [15:34:02.452] | : . | options [15:34:02.452] | : . | })(options, fcn)) [15:34:02.452] | : . | expr <- as.call(parts) [15:34:02.452] | : . | expr [15:34:02.452] | : . | } [15:34:02.452] | : . | [15:34:02.453] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.454] | : get_transpiler() ... done [15:34:02.454] | : Transpile call expression ... [15:34:02.455] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.455] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [15:34:02.455] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:34:02.455] | : . future.label = "future_vapply-%d") [15:34:02.456] | : Transpile call expression ... done [15:34:02.457] | : Evaluate transpiled call expression [15:34:02.555] | transpile() ... done [15:34:02.556] futurize() ... done Futures created: 2 [15:34:02.557] futurize() ... [15:34:02.558] | transpile() ... [15:34:02.559] | : get_transpiler() ... [15:34:02.560] | : . Finding call to be transpiled ... [15:34:02.560] | : . | descend_wrappers() ... [15:34:02.561] | : . | : Call: [15:34:02.562] | : . | : base::vapply [15:34:02.563] | : . | : parse_call() ... [15:34:02.563] | : . | : . Function: base::vapply(...) [15:34:02.564] | : . | : parse_call() ... done [15:34:02.565] | : . | descend_wrappers() ... done [15:34:02.566] | : . | parse_call() ... [15:34:02.566] | : . | : Function: base::vapply(...) [15:34:02.567] | : . | parse_call() ... done [15:34:02.568] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.569] | : . | base::vapply [15:34:02.570] | : . Finding call to be transpiled ... done [15:34:02.570] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.571] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.572] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.573] | : . | Transpiler function: [15:34:02.573] | : . | function (expr, options = NULL) [15:34:02.573] | : . | { [15:34:02.573] | : . | call <- make_call("future_vapply") [15:34:02.573] | : . | fcn <- eval(call) [15:34:02.573] | : . | expr[[1]] <- call [15:34:02.573] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.573] | : . | { [15:34:02.573] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.573] | : . | if (is.null(defaults_base)) { [15:34:02.573] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.573] | : . | } [15:34:02.573] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.573] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.573] | : . | defaults <- defaults[keep] [15:34:02.573] | : . | specified <- attr(options, "specified") [15:34:02.573] | : . | if (length(specified) > 0) { [15:34:02.573] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.573] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.573] | : . | names(options)) [15:34:02.573] | : . | } [15:34:02.573] | : . | specified <- sprintf("future.%s", specified) [15:34:02.573] | : . | names <- setdiff(names(defaults), specified) [15:34:02.573] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.573] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.573] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.573] | : . | options <- options[keep] [15:34:02.573] | : . | options [15:34:02.573] | : . | })(options, fcn)) [15:34:02.573] | : . | expr <- as.call(parts) [15:34:02.573] | : . | expr [15:34:02.573] | : . | } [15:34:02.573] | : . | [15:34:02.575] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.576] | : get_transpiler() ... done [15:34:02.576] | : Transpile call expression ... [15:34:02.578] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.578] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [15:34:02.578] | : . future.stdout = FALSE, future.conditions = character(0), [15:34:02.578] | : . future.scheduling = 1, future.label = "future_vapply-%d") [15:34:02.579] | : Transpile call expression ... done [15:34:02.580] | : Evaluate transpiled call expression [15:34:02.648] | transpile() ... done [15:34:02.649] futurize() ... done character(0) [15:34:02.650] futurize() ... [15:34:02.651] | transpile() ... [15:34:02.651] | : get_transpiler() ... [15:34:02.652] | : . Finding call to be transpiled ... [15:34:02.653] | : . | descend_wrappers() ... [15:34:02.654] | : . | : Call: [15:34:02.654] | : . | : base::vapply [15:34:02.655] | : . | : parse_call() ... [15:34:02.656] | : . | : . Function: base::vapply(...) [15:34:02.656] | : . | : parse_call() ... done [15:34:02.657] | : . | descend_wrappers() ... done [15:34:02.658] | : . | parse_call() ... [15:34:02.658] | : . | : Function: base::vapply(...) [15:34:02.659] | : . | parse_call() ... done [15:34:02.659] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.660] | : . | base::vapply [15:34:02.661] | : . Finding call to be transpiled ... done [15:34:02.662] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.663] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.663] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.664] | : . | Transpiler function: [15:34:02.665] | : . | function (expr, options = NULL) [15:34:02.665] | : . | { [15:34:02.665] | : . | call <- make_call("future_vapply") [15:34:02.665] | : . | fcn <- eval(call) [15:34:02.665] | : . | expr[[1]] <- call [15:34:02.665] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.665] | : . | { [15:34:02.665] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.665] | : . | if (is.null(defaults_base)) { [15:34:02.665] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.665] | : . | } [15:34:02.665] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.665] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.665] | : . | defaults <- defaults[keep] [15:34:02.665] | : . | specified <- attr(options, "specified") [15:34:02.665] | : . | if (length(specified) > 0) { [15:34:02.665] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.665] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.665] | : . | names(options)) [15:34:02.665] | : . | } [15:34:02.665] | : . | specified <- sprintf("future.%s", specified) [15:34:02.665] | : . | names <- setdiff(names(defaults), specified) [15:34:02.665] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.665] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.665] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.665] | : . | options <- options[keep] [15:34:02.665] | : . | options [15:34:02.665] | : . | })(options, fcn)) [15:34:02.665] | : . | expr <- as.call(parts) [15:34:02.665] | : . | expr [15:34:02.665] | : . | } [15:34:02.665] | : . | [15:34:02.666] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.667] | : get_transpiler() ... done [15:34:02.667] | : Transpile call expression ... [15:34:02.668] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.668] | : . USE.NAMES = FALSE, future.seed = FALSE, future.globals = TRUE, [15:34:02.668] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:34:02.668] | : . future.chunk.size = 1L, future.label = "future_vapply-%d") [15:34:02.670] | : Transpile call expression ... done [15:34:02.671] | : Evaluate transpiled call expression [15:34:02.851] | transpile() ... done [15:34:02.852] futurize() ... done Test with RNG: futurize(base::vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [15:34:02.853] futurize() ... [15:34:02.854] | transpile() ... [15:34:02.854] | : get_transpiler() ... [15:34:02.855] | : . Finding call to be transpiled ... [15:34:02.856] | : . | descend_wrappers() ... [15:34:02.857] | : . | : Call: [15:34:02.857] | : . | : base::vapply [15:34:02.858] | : . | : parse_call() ... [15:34:02.859] | : . | : . Function: base::vapply(...) [15:34:02.860] | : . | : parse_call() ... done [15:34:02.860] | : . | descend_wrappers() ... done [15:34:02.861] | : . | parse_call() ... [15:34:02.862] | : . | : Function: base::vapply(...) [15:34:02.862] | : . | parse_call() ... done [15:34:02.863] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.864] | : . | base::vapply [15:34:02.865] | : . Finding call to be transpiled ... done [15:34:02.865] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... [15:34:02.866] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.867] | : . | Transpiler description: base::vapply() -> future.apply::future_vapply() [15:34:02.867] | : . | Transpiler function: [15:34:02.868] | : . | function (expr, options = NULL) [15:34:02.868] | : . | { [15:34:02.868] | : . | call <- make_call("future_vapply") [15:34:02.868] | : . | fcn <- eval(call) [15:34:02.868] | : . | expr[[1]] <- call [15:34:02.868] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.868] | : . | { [15:34:02.868] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.868] | : . | if (is.null(defaults_base)) { [15:34:02.868] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.868] | : . | } [15:34:02.868] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.868] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.868] | : . | defaults <- defaults[keep] [15:34:02.868] | : . | specified <- attr(options, "specified") [15:34:02.868] | : . | if (length(specified) > 0) { [15:34:02.868] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.868] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.868] | : . | names(options)) [15:34:02.868] | : . | } [15:34:02.868] | : . | specified <- sprintf("future.%s", specified) [15:34:02.868] | : . | names <- setdiff(names(defaults), specified) [15:34:02.868] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.868] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.868] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.868] | : . | options <- options[keep] [15:34:02.868] | : . | options [15:34:02.868] | : . | })(options, fcn)) [15:34:02.868] | : . | expr <- as.call(parts) [15:34:02.868] | : . | expr [15:34:02.868] | : . | } [15:34:02.868] | : . | [15:34:02.869] | : . Locating 'futurize::add-on' transpiler for base::vapply() of class 'function' ... done [15:34:02.870] | : get_transpiler() ... done [15:34:02.870] | : Transpile call expression ... [15:34:02.872] | : . future.apply::future_vapply(X = xs, FUN.VALUE = NA_real_, FUN = FUN, [15:34:02.872] | : . USE.NAMES = FALSE, future.seed = TRUE, future.globals = TRUE, [15:34:02.872] | : . future.stdout = TRUE, future.conditions = "condition", future.scheduling = 1, [15:34:02.872] | : . future.label = "future_vapply-%d") [15:34:02.873] | : Transpile call expression ... done [15:34:02.874] | : Evaluate transpiled call expression [15:34:02.959] | transpile() ... done [15:34:02.960] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN) --------------------------------- [15:34:02.961] futurize() ... [15:34:02.962] | transpile() ... [15:34:02.962] | : get_transpiler() ... [15:34:02.963] | : . Finding call to be transpiled ... [15:34:02.964] | : . | descend_wrappers() ... [15:34:02.964] | : . | : Call: [15:34:02.965] | : . | : base::eapply [15:34:02.966] | : . | : parse_call() ... [15:34:02.966] | : . | : . Function: base::eapply(...) [15:34:02.967] | : . | : parse_call() ... done [15:34:02.968] | : . | descend_wrappers() ... done [15:34:02.968] | : . | parse_call() ... [15:34:02.969] | : . | : Function: base::eapply(...) [15:34:02.970] | : . | parse_call() ... done [15:34:02.971] | : . | Position of call to be transpiled in expression: c(1) [15:34:02.971] | : . | base::eapply [15:34:02.972] | : . Finding call to be transpiled ... done [15:34:02.973] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:02.974] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:02.974] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:02.975] | : . | Transpiler function: [15:34:02.975] | : . | function (expr, options = NULL) [15:34:02.975] | : . | { [15:34:02.975] | : . | call <- make_call("future_eapply") [15:34:02.975] | : . | fcn <- eval(call) [15:34:02.975] | : . | expr[[1]] <- call [15:34:02.975] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:02.975] | : . | { [15:34:02.975] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:02.975] | : . | if (is.null(defaults_base)) { [15:34:02.975] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:02.975] | : . | } [15:34:02.975] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:02.975] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:02.975] | : . | defaults <- defaults[keep] [15:34:02.975] | : . | specified <- attr(options, "specified") [15:34:02.975] | : . | if (length(specified) > 0) { [15:34:02.975] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:02.975] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:02.975] | : . | names(options)) [15:34:02.975] | : . | } [15:34:02.975] | : . | specified <- sprintf("future.%s", specified) [15:34:02.975] | : . | names <- setdiff(names(defaults), specified) [15:34:02.975] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:02.975] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:02.975] | : . | keep <- intersect(names(options), names(defaults)) [15:34:02.975] | : . | options <- options[keep] [15:34:02.975] | : . | options [15:34:02.975] | : . | })(options, fcn)) [15:34:02.975] | : . | expr <- as.call(parts) [15:34:02.975] | : . | expr [15:34:02.975] | : . | } [15:34:02.975] | : . | [15:34:02.976] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:02.977] | : get_transpiler() ... done [15:34:02.977] | : Transpile call expression ... [15:34:02.978] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [15:34:02.978] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:02.978] | : . future.scheduling = 1, future.label = "future_eapply-%d") [15:34:02.979] | : Transpile call expression ... done [15:34:02.980] | : Evaluate transpiled call expression [15:34:03.017] | transpile() ... done [15:34:03.017] futurize() ... done Futures created: 2 [15:34:03.018] futurize() ... [15:34:03.019] | transpile() ... [15:34:03.020] | : get_transpiler() ... [15:34:03.020] | : . Finding call to be transpiled ... [15:34:03.021] | : . | descend_wrappers() ... [15:34:03.022] | : . | : Call: [15:34:03.022] | : . | : base::eapply [15:34:03.023] | : . | : parse_call() ... [15:34:03.024] | : . | : . Function: base::eapply(...) [15:34:03.024] | : . | : parse_call() ... done [15:34:03.025] | : . | descend_wrappers() ... done [15:34:03.026] | : . | parse_call() ... [15:34:03.027] | : . | : Function: base::eapply(...) [15:34:03.027] | : . | parse_call() ... done [15:34:03.028] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.028] | : . | base::eapply [15:34:03.029] | : . Finding call to be transpiled ... done [15:34:03.030] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.031] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.031] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.032] | : . | Transpiler function: [15:34:03.033] | : . | function (expr, options = NULL) [15:34:03.033] | : . | { [15:34:03.033] | : . | call <- make_call("future_eapply") [15:34:03.033] | : . | fcn <- eval(call) [15:34:03.033] | : . | expr[[1]] <- call [15:34:03.033] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.033] | : . | { [15:34:03.033] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.033] | : . | if (is.null(defaults_base)) { [15:34:03.033] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.033] | : . | } [15:34:03.033] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.033] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.033] | : . | defaults <- defaults[keep] [15:34:03.033] | : . | specified <- attr(options, "specified") [15:34:03.033] | : . | if (length(specified) > 0) { [15:34:03.033] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.033] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.033] | : . | names(options)) [15:34:03.033] | : . | } [15:34:03.033] | : . | specified <- sprintf("future.%s", specified) [15:34:03.033] | : . | names <- setdiff(names(defaults), specified) [15:34:03.033] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.033] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.033] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.033] | : . | options <- options[keep] [15:34:03.033] | : . | options [15:34:03.033] | : . | })(options, fcn)) [15:34:03.033] | : . | expr <- as.call(parts) [15:34:03.033] | : . | expr [15:34:03.033] | : . | } [15:34:03.033] | : . | [15:34:03.034] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.035] | : get_transpiler() ... done [15:34:03.035] | : Transpile call expression ... [15:34:03.037] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [15:34:03.037] | : . future.globals = TRUE, future.stdout = FALSE, future.conditions = character(0), [15:34:03.037] | : . future.scheduling = 1, future.label = "future_eapply-%d") [15:34:03.038] | : Transpile call expression ... done [15:34:03.039] | : Evaluate transpiled call expression [15:34:03.090] | transpile() ... done [15:34:03.091] futurize() ... done character(0) [15:34:03.091] futurize() ... [15:34:03.092] | transpile() ... [15:34:03.093] | : get_transpiler() ... [15:34:03.093] | : . Finding call to be transpiled ... [15:34:03.094] | : . | descend_wrappers() ... [15:34:03.094] | : . | : Call: [15:34:03.095] | : . | : base::eapply [15:34:03.096] | : . | : parse_call() ... [15:34:03.096] | : . | : . Function: base::eapply(...) [15:34:03.097] | : . | : parse_call() ... done [15:34:03.097] | : . | descend_wrappers() ... done [15:34:03.098] | : . | parse_call() ... [15:34:03.099] | : . | : Function: base::eapply(...) [15:34:03.099] | : . | parse_call() ... done [15:34:03.100] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.100] | : . | base::eapply [15:34:03.101] | : . Finding call to be transpiled ... done [15:34:03.102] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.102] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.103] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.103] | : . | Transpiler function: [15:34:03.104] | : . | function (expr, options = NULL) [15:34:03.104] | : . | { [15:34:03.104] | : . | call <- make_call("future_eapply") [15:34:03.104] | : . | fcn <- eval(call) [15:34:03.104] | : . | expr[[1]] <- call [15:34:03.104] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.104] | : . | { [15:34:03.104] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.104] | : . | if (is.null(defaults_base)) { [15:34:03.104] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.104] | : . | } [15:34:03.104] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.104] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.104] | : . | defaults <- defaults[keep] [15:34:03.104] | : . | specified <- attr(options, "specified") [15:34:03.104] | : . | if (length(specified) > 0) { [15:34:03.104] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.104] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.104] | : . | names(options)) [15:34:03.104] | : . | } [15:34:03.104] | : . | specified <- sprintf("future.%s", specified) [15:34:03.104] | : . | names <- setdiff(names(defaults), specified) [15:34:03.104] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.104] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.104] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.104] | : . | options <- options[keep] [15:34:03.104] | : . | options [15:34:03.104] | : . | })(options, fcn)) [15:34:03.104] | : . | expr <- as.call(parts) [15:34:03.104] | : . | expr [15:34:03.104] | : . | } [15:34:03.104] | : . | [15:34:03.105] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.106] | : get_transpiler() ... done [15:34:03.106] | : Transpile call expression ... [15:34:03.107] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = FALSE, [15:34:03.107] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:03.107] | : . future.scheduling = 1, future.chunk.size = 1L, future.label = "future_eapply-%d") [15:34:03.108] | : Transpile call expression ... done [15:34:03.109] | : Evaluate transpiled call expression [15:34:03.189] | transpile() ... done [15:34:03.190] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN), seed = TRUE, flavor = "built-in") [15:34:03.191] futurize() ... [15:34:03.192] | transpile() ... [15:34:03.193] | : get_transpiler() ... [15:34:03.194] | : . Finding call to be transpiled ... [15:34:03.194] | : . | descend_wrappers() ... [15:34:03.195] | : . | : Call: [15:34:03.196] | : . | : base::eapply [15:34:03.197] | : . | : parse_call() ... [15:34:03.197] | : . | : . Function: base::eapply(...) [15:34:03.198] | : . | : parse_call() ... done [15:34:03.199] | : . | descend_wrappers() ... done [15:34:03.200] | : . | parse_call() ... [15:34:03.200] | : . | : Function: base::eapply(...) [15:34:03.201] | : . | parse_call() ... done [15:34:03.202] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.203] | : . | base::eapply [15:34:03.204] | : . Finding call to be transpiled ... done [15:34:03.204] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.205] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.206] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.206] | : . | Transpiler function: [15:34:03.207] | : . | function (expr, options = NULL) [15:34:03.207] | : . | { [15:34:03.207] | : . | call <- make_call("future_eapply") [15:34:03.207] | : . | fcn <- eval(call) [15:34:03.207] | : . | expr[[1]] <- call [15:34:03.207] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.207] | : . | { [15:34:03.207] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.207] | : . | if (is.null(defaults_base)) { [15:34:03.207] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.207] | : . | } [15:34:03.207] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.207] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.207] | : . | defaults <- defaults[keep] [15:34:03.207] | : . | specified <- attr(options, "specified") [15:34:03.207] | : . | if (length(specified) > 0) { [15:34:03.207] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.207] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.207] | : . | names(options)) [15:34:03.207] | : . | } [15:34:03.207] | : . | specified <- sprintf("future.%s", specified) [15:34:03.207] | : . | names <- setdiff(names(defaults), specified) [15:34:03.207] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.207] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.207] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.207] | : . | options <- options[keep] [15:34:03.207] | : . | options [15:34:03.207] | : . | })(options, fcn)) [15:34:03.207] | : . | expr <- as.call(parts) [15:34:03.207] | : . | expr [15:34:03.207] | : . | } [15:34:03.207] | : . | [15:34:03.209] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.210] | : get_transpiler() ... done [15:34:03.211] | : Transpile call expression ... [15:34:03.211] | : . future.apply::future_eapply(env = es, FUN = FUN, future.seed = TRUE, [15:34:03.211] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:03.211] | : . future.scheduling = 1, future.label = "future_eapply-%d") [15:34:03.213] | : Transpile call expression ... done [15:34:03.213] | : Evaluate transpiled call expression [15:34:03.273] | transpile() ... done [15:34:03.274] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, all.names = TRUE) --------------------------------- [15:34:03.275] futurize() ... [15:34:03.276] | transpile() ... [15:34:03.277] | : get_transpiler() ... [15:34:03.277] | : . Finding call to be transpiled ... [15:34:03.278] | : . | descend_wrappers() ... [15:34:03.279] | : . | : Call: [15:34:03.279] | : . | : base::eapply [15:34:03.280] | : . | : parse_call() ... [15:34:03.281] | : . | : . Function: base::eapply(...) [15:34:03.281] | : . | : parse_call() ... done [15:34:03.282] | : . | descend_wrappers() ... done [15:34:03.283] | : . | parse_call() ... [15:34:03.283] | : . | : Function: base::eapply(...) [15:34:03.284] | : . | parse_call() ... done [15:34:03.284] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.285] | : . | base::eapply [15:34:03.286] | : . Finding call to be transpiled ... done [15:34:03.286] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.287] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.288] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.292] | : . | Transpiler function: [15:34:03.292] | : . | function (expr, options = NULL) [15:34:03.292] | : . | { [15:34:03.292] | : . | call <- make_call("future_eapply") [15:34:03.292] | : . | fcn <- eval(call) [15:34:03.292] | : . | expr[[1]] <- call [15:34:03.292] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.292] | : . | { [15:34:03.292] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.292] | : . | if (is.null(defaults_base)) { [15:34:03.292] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.292] | : . | } [15:34:03.292] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.292] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.292] | : . | defaults <- defaults[keep] [15:34:03.292] | : . | specified <- attr(options, "specified") [15:34:03.292] | : . | if (length(specified) > 0) { [15:34:03.292] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.292] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.292] | : . | names(options)) [15:34:03.292] | : . | } [15:34:03.292] | : . | specified <- sprintf("future.%s", specified) [15:34:03.292] | : . | names <- setdiff(names(defaults), specified) [15:34:03.292] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.292] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.292] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.292] | : . | options <- options[keep] [15:34:03.292] | : . | options [15:34:03.292] | : . | })(options, fcn)) [15:34:03.292] | : . | expr <- as.call(parts) [15:34:03.292] | : . | expr [15:34:03.292] | : . | } [15:34:03.292] | : . | [15:34:03.294] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.294] | : get_transpiler() ... done [15:34:03.295] | : Transpile call expression ... [15:34:03.296] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:34:03.296] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:03.296] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:34:03.298] | : Transpile call expression ... done [15:34:03.299] | : Evaluate transpiled call expression [15:34:03.345] | transpile() ... done [15:34:03.346] futurize() ... done Futures created: 2 [15:34:03.347] futurize() ... [15:34:03.348] | transpile() ... [15:34:03.348] | : get_transpiler() ... [15:34:03.349] | : . Finding call to be transpiled ... [15:34:03.350] | : . | descend_wrappers() ... [15:34:03.350] | : . | : Call: [15:34:03.351] | : . | : base::eapply [15:34:03.352] | : . | : parse_call() ... [15:34:03.353] | : . | : . Function: base::eapply(...) [15:34:03.353] | : . | : parse_call() ... done [15:34:03.354] | : . | descend_wrappers() ... done [15:34:03.355] | : . | parse_call() ... [15:34:03.355] | : . | : Function: base::eapply(...) [15:34:03.356] | : . | parse_call() ... done [15:34:03.357] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.357] | : . | base::eapply [15:34:03.358] | : . Finding call to be transpiled ... done [15:34:03.359] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.360] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.360] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.361] | : . | Transpiler function: [15:34:03.361] | : . | function (expr, options = NULL) [15:34:03.361] | : . | { [15:34:03.361] | : . | call <- make_call("future_eapply") [15:34:03.361] | : . | fcn <- eval(call) [15:34:03.361] | : . | expr[[1]] <- call [15:34:03.361] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.361] | : . | { [15:34:03.361] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.361] | : . | if (is.null(defaults_base)) { [15:34:03.361] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.361] | : . | } [15:34:03.361] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.361] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.361] | : . | defaults <- defaults[keep] [15:34:03.361] | : . | specified <- attr(options, "specified") [15:34:03.361] | : . | if (length(specified) > 0) { [15:34:03.361] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.361] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.361] | : . | names(options)) [15:34:03.361] | : . | } [15:34:03.361] | : . | specified <- sprintf("future.%s", specified) [15:34:03.361] | : . | names <- setdiff(names(defaults), specified) [15:34:03.361] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.361] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.361] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.361] | : . | options <- options[keep] [15:34:03.361] | : . | options [15:34:03.361] | : . | })(options, fcn)) [15:34:03.361] | : . | expr <- as.call(parts) [15:34:03.361] | : . | expr [15:34:03.361] | : . | } [15:34:03.361] | : . | [15:34:03.363] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.363] | : get_transpiler() ... done [15:34:03.364] | : Transpile call expression ... [15:34:03.365] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:34:03.365] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:34:03.365] | : . future.conditions = character(0), future.scheduling = 1, [15:34:03.365] | : . future.label = "future_eapply-%d") [15:34:03.367] | : Transpile call expression ... done [15:34:03.368] | : Evaluate transpiled call expression [15:34:03.425] | transpile() ... done [15:34:03.426] futurize() ... done character(0) [15:34:03.427] futurize() ... [15:34:03.428] | transpile() ... [15:34:03.429] | : get_transpiler() ... [15:34:03.429] | : . Finding call to be transpiled ... [15:34:03.430] | : . | descend_wrappers() ... [15:34:03.431] | : . | : Call: [15:34:03.432] | : . | : base::eapply [15:34:03.433] | : . | : parse_call() ... [15:34:03.433] | : . | : . Function: base::eapply(...) [15:34:03.434] | : . | : parse_call() ... done [15:34:03.435] | : . | descend_wrappers() ... done [15:34:03.436] | : . | parse_call() ... [15:34:03.436] | : . | : Function: base::eapply(...) [15:34:03.437] | : . | parse_call() ... done [15:34:03.438] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.439] | : . | base::eapply [15:34:03.440] | : . Finding call to be transpiled ... done [15:34:03.440] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.441] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.442] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.443] | : . | Transpiler function: [15:34:03.443] | : . | function (expr, options = NULL) [15:34:03.443] | : . | { [15:34:03.443] | : . | call <- make_call("future_eapply") [15:34:03.443] | : . | fcn <- eval(call) [15:34:03.443] | : . | expr[[1]] <- call [15:34:03.443] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.443] | : . | { [15:34:03.443] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.443] | : . | if (is.null(defaults_base)) { [15:34:03.443] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.443] | : . | } [15:34:03.443] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.443] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.443] | : . | defaults <- defaults[keep] [15:34:03.443] | : . | specified <- attr(options, "specified") [15:34:03.443] | : . | if (length(specified) > 0) { [15:34:03.443] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.443] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.443] | : . | names(options)) [15:34:03.443] | : . | } [15:34:03.443] | : . | specified <- sprintf("future.%s", specified) [15:34:03.443] | : . | names <- setdiff(names(defaults), specified) [15:34:03.443] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.443] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.443] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.443] | : . | options <- options[keep] [15:34:03.443] | : . | options [15:34:03.443] | : . | })(options, fcn)) [15:34:03.443] | : . | expr <- as.call(parts) [15:34:03.443] | : . | expr [15:34:03.443] | : . | } [15:34:03.443] | : . | [15:34:03.445] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.445] | : get_transpiler() ... done [15:34:03.446] | : Transpile call expression ... [15:34:03.447] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:34:03.447] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:03.447] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:34:03.447] | : . future.label = "future_eapply-%d") [15:34:03.449] | : Transpile call expression ... done [15:34:03.449] | : Evaluate transpiled call expression [15:34:03.581] | transpile() ... done [15:34:03.582] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, all.names = TRUE), seed = TRUE, flavor = "built-in") [15:34:03.584] futurize() ... [15:34:03.584] | transpile() ... [15:34:03.585] | : get_transpiler() ... [15:34:03.586] | : . Finding call to be transpiled ... [15:34:03.587] | : . | descend_wrappers() ... [15:34:03.588] | : . | : Call: [15:34:03.589] | : . | : base::eapply [15:34:03.590] | : . | : parse_call() ... [15:34:03.591] | : . | : . Function: base::eapply(...) [15:34:03.591] | : . | : parse_call() ... done [15:34:03.592] | : . | descend_wrappers() ... done [15:34:03.593] | : . | parse_call() ... [15:34:03.594] | : . | : Function: base::eapply(...) [15:34:03.595] | : . | parse_call() ... done [15:34:03.595] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.596] | : . | base::eapply [15:34:03.597] | : . Finding call to be transpiled ... done [15:34:03.598] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.599] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.600] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.600] | : . | Transpiler function: [15:34:03.601] | : . | function (expr, options = NULL) [15:34:03.601] | : . | { [15:34:03.601] | : . | call <- make_call("future_eapply") [15:34:03.601] | : . | fcn <- eval(call) [15:34:03.601] | : . | expr[[1]] <- call [15:34:03.601] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.601] | : . | { [15:34:03.601] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.601] | : . | if (is.null(defaults_base)) { [15:34:03.601] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.601] | : . | } [15:34:03.601] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.601] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.601] | : . | defaults <- defaults[keep] [15:34:03.601] | : . | specified <- attr(options, "specified") [15:34:03.601] | : . | if (length(specified) > 0) { [15:34:03.601] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.601] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.601] | : . | names(options)) [15:34:03.601] | : . | } [15:34:03.601] | : . | specified <- sprintf("future.%s", specified) [15:34:03.601] | : . | names <- setdiff(names(defaults), specified) [15:34:03.601] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.601] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.601] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.601] | : . | options <- options[keep] [15:34:03.601] | : . | options [15:34:03.601] | : . | })(options, fcn)) [15:34:03.601] | : . | expr <- as.call(parts) [15:34:03.601] | : . | expr [15:34:03.601] | : . | } [15:34:03.601] | : . | [15:34:03.602] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.603] | : get_transpiler() ... done [15:34:03.603] | : Transpile call expression ... [15:34:03.604] | : . future.apply::future_eapply(env = es, FUN = FUN, all.names = TRUE, [15:34:03.604] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:34:03.604] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:34:03.606] | : Transpile call expression ... done [15:34:03.606] | : Evaluate transpiled call expression [15:34:03.663] | transpile() ... done [15:34:03.664] futurize() ... done === eapply ========================== base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE) --------------------------------- [15:34:03.666] futurize() ... [15:34:03.666] | transpile() ... [15:34:03.667] | : get_transpiler() ... [15:34:03.667] | : . Finding call to be transpiled ... [15:34:03.668] | : . | descend_wrappers() ... [15:34:03.669] | : . | : Call: [15:34:03.669] | : . | : base::eapply [15:34:03.670] | : . | : parse_call() ... [15:34:03.670] | : . | : . Function: base::eapply(...) [15:34:03.671] | : . | : parse_call() ... done [15:34:03.672] | : . | descend_wrappers() ... done [15:34:03.672] | : . | parse_call() ... [15:34:03.673] | : . | : Function: base::eapply(...) [15:34:03.673] | : . | parse_call() ... done [15:34:03.674] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.674] | : . | base::eapply [15:34:03.675] | : . Finding call to be transpiled ... done [15:34:03.675] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.676] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.677] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.677] | : . | Transpiler function: [15:34:03.678] | : . | function (expr, options = NULL) [15:34:03.678] | : . | { [15:34:03.678] | : . | call <- make_call("future_eapply") [15:34:03.678] | : . | fcn <- eval(call) [15:34:03.678] | : . | expr[[1]] <- call [15:34:03.678] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.678] | : . | { [15:34:03.678] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.678] | : . | if (is.null(defaults_base)) { [15:34:03.678] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.678] | : . | } [15:34:03.678] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.678] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.678] | : . | defaults <- defaults[keep] [15:34:03.678] | : . | specified <- attr(options, "specified") [15:34:03.678] | : . | if (length(specified) > 0) { [15:34:03.678] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.678] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.678] | : . | names(options)) [15:34:03.678] | : . | } [15:34:03.678] | : . | specified <- sprintf("future.%s", specified) [15:34:03.678] | : . | names <- setdiff(names(defaults), specified) [15:34:03.678] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.678] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.678] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.678] | : . | options <- options[keep] [15:34:03.678] | : . | options [15:34:03.678] | : . | })(options, fcn)) [15:34:03.678] | : . | expr <- as.call(parts) [15:34:03.678] | : . | expr [15:34:03.678] | : . | } [15:34:03.678] | : . | [15:34:03.680] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.681] | : get_transpiler() ... done [15:34:03.682] | : Transpile call expression ... [15:34:03.683] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:34:03.683] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:03.683] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:34:03.685] | : Transpile call expression ... done [15:34:03.686] | : Evaluate transpiled call expression [15:34:03.750] | transpile() ... done [15:34:03.750] futurize() ... done Futures created: 2 [15:34:03.752] futurize() ... [15:34:03.752] | transpile() ... [15:34:03.753] | : get_transpiler() ... [15:34:03.754] | : . Finding call to be transpiled ... [15:34:03.755] | : . | descend_wrappers() ... [15:34:03.756] | : . | : Call: [15:34:03.756] | : . | : base::eapply [15:34:03.757] | : . | : parse_call() ... [15:34:03.758] | : . | : . Function: base::eapply(...) [15:34:03.758] | : . | : parse_call() ... done [15:34:03.759] | : . | descend_wrappers() ... done [15:34:03.759] | : . | parse_call() ... [15:34:03.760] | : . | : Function: base::eapply(...) [15:34:03.760] | : . | parse_call() ... done [15:34:03.761] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.762] | : . | base::eapply [15:34:03.763] | : . Finding call to be transpiled ... done [15:34:03.764] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.765] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.766] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.767] | : . | Transpiler function: [15:34:03.768] | : . | function (expr, options = NULL) [15:34:03.768] | : . | { [15:34:03.768] | : . | call <- make_call("future_eapply") [15:34:03.768] | : . | fcn <- eval(call) [15:34:03.768] | : . | expr[[1]] <- call [15:34:03.768] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.768] | : . | { [15:34:03.768] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.768] | : . | if (is.null(defaults_base)) { [15:34:03.768] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.768] | : . | } [15:34:03.768] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.768] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.768] | : . | defaults <- defaults[keep] [15:34:03.768] | : . | specified <- attr(options, "specified") [15:34:03.768] | : . | if (length(specified) > 0) { [15:34:03.768] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.768] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.768] | : . | names(options)) [15:34:03.768] | : . | } [15:34:03.768] | : . | specified <- sprintf("future.%s", specified) [15:34:03.768] | : . | names <- setdiff(names(defaults), specified) [15:34:03.768] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.768] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.768] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.768] | : . | options <- options[keep] [15:34:03.768] | : . | options [15:34:03.768] | : . | })(options, fcn)) [15:34:03.768] | : . | expr <- as.call(parts) [15:34:03.768] | : . | expr [15:34:03.768] | : . | } [15:34:03.768] | : . | [15:34:03.769] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.770] | : get_transpiler() ... done [15:34:03.771] | : Transpile call expression ... [15:34:03.773] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:34:03.773] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = FALSE, [15:34:03.773] | : . future.conditions = character(0), future.scheduling = 1, [15:34:03.773] | : . future.label = "future_eapply-%d") [15:34:03.775] | : Transpile call expression ... done [15:34:03.776] | : Evaluate transpiled call expression [15:34:03.838] | transpile() ... done [15:34:03.839] futurize() ... done character(0) [15:34:03.841] futurize() ... [15:34:03.842] | transpile() ... [15:34:03.843] | : get_transpiler() ... [15:34:03.844] | : . Finding call to be transpiled ... [15:34:03.845] | : . | descend_wrappers() ... [15:34:03.846] | : . | : Call: [15:34:03.847] | : . | : base::eapply [15:34:03.848] | : . | : parse_call() ... [15:34:03.849] | : . | : . Function: base::eapply(...) [15:34:03.850] | : . | : parse_call() ... done [15:34:03.850] | : . | descend_wrappers() ... done [15:34:03.851] | : . | parse_call() ... [15:34:03.851] | : . | : Function: base::eapply(...) [15:34:03.852] | : . | parse_call() ... done [15:34:03.853] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.853] | : . | base::eapply [15:34:03.854] | : . Finding call to be transpiled ... done [15:34:03.854] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.855] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.856] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.856] | : . | Transpiler function: [15:34:03.857] | : . | function (expr, options = NULL) [15:34:03.857] | : . | { [15:34:03.857] | : . | call <- make_call("future_eapply") [15:34:03.857] | : . | fcn <- eval(call) [15:34:03.857] | : . | expr[[1]] <- call [15:34:03.857] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.857] | : . | { [15:34:03.857] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.857] | : . | if (is.null(defaults_base)) { [15:34:03.857] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.857] | : . | } [15:34:03.857] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.857] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.857] | : . | defaults <- defaults[keep] [15:34:03.857] | : . | specified <- attr(options, "specified") [15:34:03.857] | : . | if (length(specified) > 0) { [15:34:03.857] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.857] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.857] | : . | names(options)) [15:34:03.857] | : . | } [15:34:03.857] | : . | specified <- sprintf("future.%s", specified) [15:34:03.857] | : . | names <- setdiff(names(defaults), specified) [15:34:03.857] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.857] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.857] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.857] | : . | options <- options[keep] [15:34:03.857] | : . | options [15:34:03.857] | : . | })(options, fcn)) [15:34:03.857] | : . | expr <- as.call(parts) [15:34:03.857] | : . | expr [15:34:03.857] | : . | } [15:34:03.857] | : . | [15:34:03.858] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.858] | : get_transpiler() ... done [15:34:03.859] | : Transpile call expression ... [15:34:03.860] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:34:03.860] | : . future.seed = FALSE, future.globals = TRUE, future.stdout = TRUE, [15:34:03.860] | : . future.conditions = "condition", future.scheduling = 1, future.chunk.size = 1L, [15:34:03.860] | : . future.label = "future_eapply-%d") [15:34:03.861] | : Transpile call expression ... done [15:34:03.862] | : Evaluate transpiled call expression [15:34:03.956] | transpile() ... done [15:34:03.957] futurize() ... done Test with RNG: futurize(base::eapply(env = es, FUN = FUN, USE.NAMES = FALSE), seed = TRUE, flavor = "built-in") [15:34:03.958] futurize() ... [15:34:03.959] | transpile() ... [15:34:03.960] | : get_transpiler() ... [15:34:03.960] | : . Finding call to be transpiled ... [15:34:03.961] | : . | descend_wrappers() ... [15:34:03.962] | : . | : Call: [15:34:03.963] | : . | : base::eapply [15:34:03.964] | : . | : parse_call() ... [15:34:03.965] | : . | : . Function: base::eapply(...) [15:34:03.965] | : . | : parse_call() ... done [15:34:03.966] | : . | descend_wrappers() ... done [15:34:03.967] | : . | parse_call() ... [15:34:03.968] | : . | : Function: base::eapply(...) [15:34:03.968] | : . | parse_call() ... done [15:34:03.969] | : . | Position of call to be transpiled in expression: c(1) [15:34:03.970] | : . | base::eapply [15:34:03.971] | : . Finding call to be transpiled ... done [15:34:03.972] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... [15:34:03.972] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:03.973] | : . | Transpiler description: base::eapply() -> future.apply::future_eapply() [15:34:03.974] | : . | Transpiler function: [15:34:03.974] | : . | function (expr, options = NULL) [15:34:03.974] | : . | { [15:34:03.974] | : . | call <- make_call("future_eapply") [15:34:03.974] | : . | fcn <- eval(call) [15:34:03.974] | : . | expr[[1]] <- call [15:34:03.974] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:03.974] | : . | { [15:34:03.974] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:03.974] | : . | if (is.null(defaults_base)) { [15:34:03.974] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:03.974] | : . | } [15:34:03.974] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:03.974] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:03.974] | : . | defaults <- defaults[keep] [15:34:03.974] | : . | specified <- attr(options, "specified") [15:34:03.974] | : . | if (length(specified) > 0) { [15:34:03.974] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:03.974] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:03.974] | : . | names(options)) [15:34:03.974] | : . | } [15:34:03.974] | : . | specified <- sprintf("future.%s", specified) [15:34:03.974] | : . | names <- setdiff(names(defaults), specified) [15:34:03.974] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:03.974] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:03.974] | : . | keep <- intersect(names(options), names(defaults)) [15:34:03.974] | : . | options <- options[keep] [15:34:03.974] | : . | options [15:34:03.974] | : . | })(options, fcn)) [15:34:03.974] | : . | expr <- as.call(parts) [15:34:03.974] | : . | expr [15:34:03.974] | : . | } [15:34:03.974] | : . | [15:34:03.976] | : . Locating 'futurize::add-on' transpiler for base::eapply() of class 'function' ... done [15:34:03.977] | : get_transpiler() ... done [15:34:03.977] | : Transpile call expression ... [15:34:03.979] | : . future.apply::future_eapply(env = es, FUN = FUN, USE.NAMES = FALSE, [15:34:03.979] | : . future.seed = TRUE, future.globals = TRUE, future.stdout = TRUE, [15:34:03.979] | : . future.conditions = "condition", future.scheduling = 1, future.label = "future_eapply-%d") [15:34:03.980] | : Transpile call expression ... done [15:34:03.981] | : Evaluate transpiled call expression [15:34:04.046] | transpile() ... done [15:34:04.047] 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 [15:34:04.049] futurize() ... [15:34:04.050] | transpile() ... [15:34:04.051] | : get_transpiler() ... [15:34:04.051] | : . Finding call to be transpiled ... [15:34:04.052] | : . | descend_wrappers() ... [15:34:04.052] | : . | : Call: [15:34:04.053] | : . | : replicate [15:34:04.053] | : . | : parse_call() ... [15:34:04.054] | : . | : . Function: replicate(...) [15:34:04.054] | : . | : . Locate function ... [15:34:04.055] | : . | : . | Function located in: 'base' [15:34:04.055] | : . | : . Locate function ... done [15:34:04.056] | : . | : parse_call() ... done [15:34:04.056] | : . | descend_wrappers() ... done [15:34:04.057] | : . | parse_call() ... [15:34:04.057] | : . | : Function: replicate(...) [15:34:04.057] | : . | : Locate function ... [15:34:04.058] | : . | : . Function located in: 'base' [15:34:04.058] | : . | : Locate function ... done [15:34:04.059] | : . | parse_call() ... done [15:34:04.059] | : . | Position of call to be transpiled in expression: c(1) [15:34:04.060] | : . | replicate [15:34:04.060] | : . Finding call to be transpiled ... done [15:34:04.061] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:34:04.061] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:04.061] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:34:04.062] | : . | Transpiler function: [15:34:04.062] | : . | function (expr, options = NULL) [15:34:04.062] | : . | { [15:34:04.062] | : . | call <- make_call("future_replicate") [15:34:04.062] | : . | fcn <- eval(call) [15:34:04.062] | : . | expr[[1]] <- call [15:34:04.062] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:04.062] | : . | { [15:34:04.062] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:04.062] | : . | if (is.null(defaults_base)) { [15:34:04.062] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:04.062] | : . | } [15:34:04.062] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:04.062] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:04.062] | : . | defaults <- defaults[keep] [15:34:04.062] | : . | specified <- attr(options, "specified") [15:34:04.062] | : . | if (length(specified) > 0) { [15:34:04.062] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:04.062] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:04.062] | : . | names(options)) [15:34:04.062] | : . | } [15:34:04.062] | : . | specified <- sprintf("future.%s", specified) [15:34:04.062] | : . | names <- setdiff(names(defaults), specified) [15:34:04.062] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:04.062] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:04.062] | : . | keep <- intersect(names(options), names(defaults)) [15:34:04.062] | : . | options <- options[keep] [15:34:04.062] | : . | options [15:34:04.062] | : . | })(options, fcn)) [15:34:04.062] | : . | expr <- as.call(parts) [15:34:04.062] | : . | expr [15:34:04.062] | : . | } [15:34:04.062] | : . | [15:34:04.064] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:34:04.065] | : get_transpiler() ... done [15:34:04.065] | : Transpile call expression ... [15:34:04.066] | : . future.apply::future_replicate(2, rnorm(1), future.seed = TRUE, [15:34:04.066] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:04.066] | : . future.scheduling = 1, future.label = "future_replicate-%d") [15:34:04.068] | : Transpile call expression ... done [15:34:04.069] | : Evaluate transpiled call expression [15:34:04.099] | transpile() ... done [15:34:04.100] futurize() ... done Futures created: 2 futurize(seed = FALSE) gives RNG error with replicate() [15:34:04.164] futurize() ... [15:34:04.165] | transpile() ... [15:34:04.166] | : get_transpiler() ... [15:34:04.167] | : . Finding call to be transpiled ... [15:34:04.167] | : . | descend_wrappers() ... [15:34:04.168] | : . | : Call: [15:34:04.169] | : . | : replicate [15:34:04.170] | : . | : parse_call() ... [15:34:04.171] | : . | : . Function: replicate(...) [15:34:04.171] | : . | : . Locate function ... [15:34:04.172] | : . | : . | Function located in: 'base' [15:34:04.173] | : . | : . Locate function ... done [15:34:04.173] | : . | : parse_call() ... done [15:34:04.174] | : . | descend_wrappers() ... done [15:34:04.175] | : . | parse_call() ... [15:34:04.176] | : . | : Function: replicate(...) [15:34:04.176] | : . | : Locate function ... [15:34:04.177] | : . | : . Function located in: 'base' [15:34:04.178] | : . | : Locate function ... done [15:34:04.178] | : . | parse_call() ... done [15:34:04.179] | : . | Position of call to be transpiled in expression: c(1) [15:34:04.180] | : . | replicate [15:34:04.181] | : . Finding call to be transpiled ... done [15:34:04.181] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... [15:34:04.182] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:04.183] | : . | Transpiler description: base::replicate() -> future.apply::future_replicate() [15:34:04.183] | : . | Transpiler function: [15:34:04.184] | : . | function (expr, options = NULL) [15:34:04.184] | : . | { [15:34:04.184] | : . | call <- make_call("future_replicate") [15:34:04.184] | : . | fcn <- eval(call) [15:34:04.184] | : . | expr[[1]] <- call [15:34:04.184] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:04.184] | : . | { [15:34:04.184] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:04.184] | : . | if (is.null(defaults_base)) { [15:34:04.184] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:04.184] | : . | } [15:34:04.184] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:04.184] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:04.184] | : . | defaults <- defaults[keep] [15:34:04.184] | : . | specified <- attr(options, "specified") [15:34:04.184] | : . | if (length(specified) > 0) { [15:34:04.184] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:04.184] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:04.184] | : . | names(options)) [15:34:04.184] | : . | } [15:34:04.184] | : . | specified <- sprintf("future.%s", specified) [15:34:04.184] | : . | names <- setdiff(names(defaults), specified) [15:34:04.184] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:04.184] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:04.184] | : . | keep <- intersect(names(options), names(defaults)) [15:34:04.184] | : . | options <- options[keep] [15:34:04.184] | : . | options [15:34:04.184] | : . | })(options, fcn)) [15:34:04.184] | : . | expr <- as.call(parts) [15:34:04.184] | : . | expr [15:34:04.184] | : . | } [15:34:04.184] | : . | [15:34:04.186] | : . Locating 'futurize::add-on' transpiler for base::replicate() of class 'function' ... done [15:34:04.186] | : get_transpiler() ... done [15:34:04.187] | : Transpile call expression ... [15:34:04.188] | : . future.apply::future_replicate(2, rnorm(1), future.seed = FALSE, [15:34:04.188] | : . future.globals = TRUE, future.stdout = TRUE, future.conditions = "condition", [15:34:04.188] | : . future.scheduling = 1, future.label = "future_replicate-%d") [15:34:04.190] | : Transpile call expression ... done [15:34:04.190] | : Evaluate transpiled call expression Warning: Caught RngFutureError. Canceling all iterations ... [15:34:04.215] | transpile() ... done [15:34:04.216] futurize() ... done Special case: Zero futurize() options [15:34:04.217] futurize() ... [15:34:04.218] | transpile() ... [15:34:04.219] | : get_transpiler() ... [15:34:04.219] | : . Finding call to be transpiled ... [15:34:04.220] | : . | descend_wrappers() ... [15:34:04.221] | : . | : Call: [15:34:04.221] | : . | : lapply [15:34:04.222] | : . | : parse_call() ... [15:34:04.223] | : . | : . Function: lapply(...) [15:34:04.224] | : . | : . Locate function ... [15:34:04.225] | : . | : . | Function located in: 'base' [15:34:04.225] | : . | : . Locate function ... done [15:34:04.226] | : . | : parse_call() ... done [15:34:04.227] | : . | descend_wrappers() ... done [15:34:04.227] | : . | parse_call() ... [15:34:04.228] | : . | : Function: lapply(...) [15:34:04.229] | : . | : Locate function ... [15:34:04.230] | : . | : . Function located in: 'base' [15:34:04.230] | : . | : Locate function ... done [15:34:04.231] | : . | parse_call() ... done [15:34:04.232] | : . | Position of call to be transpiled in expression: c(1) [15:34:04.232] | : . | lapply [15:34:04.233] | : . Finding call to be transpiled ... done [15:34:04.234] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... [15:34:04.235] | : . | Namespaces registered with futurize(): 'base', 'stats' [15:34:04.236] | : . | Transpiler description: base::lapply() -> future.apply::future_lapply() [15:34:04.236] | : . | Transpiler function: [15:34:04.237] | : . | function (expr, options = NULL) [15:34:04.237] | : . | { [15:34:04.237] | : . | call <- make_call("future_lapply") [15:34:04.237] | : . | fcn <- eval(call) [15:34:04.237] | : . | expr[[1]] <- call [15:34:04.237] | : . | parts <- c(as.list(expr), (function (options, fcn, defaults = NULL) [15:34:04.237] | : . | { [15:34:04.237] | : . | if (length(options) == 0L && length(defaults) == 0L) return(options) [15:34:04.237] | : . | if (is.null(defaults_base)) { [15:34:04.237] | : . | defaults_base <<- get_defaults(future.apply::future_lapply) [15:34:04.237] | : . | } [15:34:04.237] | : . | defaults <- c(defaults_base, get_defaults(fcn), defaults) [15:34:04.237] | : . | keep <- !duplicated(names(defaults), fromLast = TRUE) [15:34:04.237] | : . | defaults <- defaults[keep] [15:34:04.237] | : . | specified <- attr(options, "specified") [15:34:04.237] | : . | if (length(specified) > 0) { [15:34:04.237] | : . | specified <- sub("^chunk_size$", "chunk.size", specified) [15:34:04.237] | : . | names(options) <- sub("^chunk_size$", "chunk.size", [15:34:04.237] | : . | names(options)) [15:34:04.237] | : . | } [15:34:04.237] | : . | specified <- sprintf("future.%s", specified) [15:34:04.237] | : . | names <- setdiff(names(defaults), specified) [15:34:04.237] | : . | names(options) <- sprintf("future.%s", names(options)) [15:34:04.237] | : . | for (name in names) options[[name]] <- defaults[[name]] [15:34:04.237] | : . | keep <- intersect(names(options), names(defaults)) [15:34:04.237] | : . | options <- options[keep] [15:34:04.237] | : . | options [15:34:04.237] | : . | })(options, fcn)) [15:34:04.237] | : . | expr <- as.call(parts) [15:34:04.237] | : . | expr [15:34:04.237] | : . | } [15:34:04.237] | : . | [15:34:04.238] | : . Locating 'futurize::add-on' transpiler for base::lapply() of class 'function' ... done [15:34:04.239] | : get_transpiler() ... done [15:34:04.240] | : Transpile call expression ... [15:34:04.241] | : . future.apply::future_lapply(1, identity) [15:34:04.242] | : Transpile call expression ... done [15:34:04.243] | : Evaluate transpiled call expression [15:34:04.263] | transpile() ... done [15:34:04.264] 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_15_25_17_31911' Test time: user.self=9s, sys.self=0.9s, elapsed=1e+01s, user.child=NAs, sys.child=NAs Test 'futurize-base-stats' ... success > > proc.time() user system elapsed 8.96 1.06 13.45