The future package turns ten today 🥳 To celebrate, I’ll start a blog series covering recent improvements that set us up for new, exciting ways for writing concurrent #RStats - neater than what our trusty workhorses future.apply & furrr offer

https://www.jottr.org/2025/06/19/futureverse-10-years/

#parallel #futureverse

The future package celebrates ten years on CRAN as of June 19, 2025. I just posted the first of a series of blog posts highlighting recent improvements to the #futureverse ecosystem:

* Future got better at finding global variables

available at https://www.jottr.org/2025/06/23/future-got-better-at-finding-global-variables/

#RStats #parallel

Future got better at finding global variables

The future package celebrates ten years on CRAN as of June 19, 2025. This is the first of a series of blog posts highlighting recent improvements to the futureverse ecosystem. The globals package is part of the futureverse and has had two recent releases on 2025-04-15 and 2025-05-08. These updates address a few corner cases that would otherwise lead to unexpected errors. They also resulted in several long, outstanding issues reported on the future, future.

JottR

The future package celebrates ten years on CRAN as of June 19, 2025. I just posted the second in a series of blog posts highlighting recent improvements to the #futureverse ecosystem:

* Setting Future Plans in R Functions - and Why You Probably Shouldn't

available at https://www.jottr.org/2025/06/25/with-plan/

You can now do:

my_fcn <- function(...) {
with(plan(multisession), local = TRUE)
...
}

but, as explained in the post, I recommend not doing any that, unless really needed

#RStats #parallel

Setting Future Plans in R Functions — and Why You Probably Shouldn't

The future package celebrates ten years on CRAN as of June 19, 2025. This is the second in a series of blog posts highlighting recent improvements to the futureverse ecosystem. TL;DR You can now use my_fcn <- function(...) { with(plan(multisession), local = TRUE) ... } to temporarily set a future backend for use in your function. This guarantees that any changes are undone when the function exits, even if there is an error or an interrupt.

JottR