aside
aside copied to clipboard
Prior art
Reading through https://yihui.name/en/2017/10/later-recursion/ I saw a lot of similar themes to what you've made here. A 'prior art' section at the end of a README is gaining popularity (e.g. https://github.com/milesmcbain/datapasta#prior-art) and I thought I'd send a few links your way. These may also have some implementations you can adapt to aside
(e.g. alternatives to terminalSend()
). You may or may not have already come across all of these yourself anyway.
https://github.com/r-lib/later https://github.com/s-u/background
and in particular;
https://github.com/r-lib/processx (on CRAN, Works on Linux, macOS and Windows, can communicate with/wait on/read from)
FWIW, I could easily see this as part of my everyday workflow if the system maintained a cache of objects which may be updated during an aside and postponed any dependent calculations until they were ready. If I was only requesting a new independent calculation, sending that off to another core for processing and returning my access to R would be awesome.
See https://github.com/HenrikBengtsson/future as well.
@jonocarroll so sorry I forgot to thank you sooner for this. Thanks a lot for gathering these information, I'll dig into this so that I can continue to develop {aside}.
I'm indeed thinking about changing the current workflow, so that it :
- creates a new folder in the current wd
- save every new objet as a .RDS inside this folder
- keep track with a log file of everything that happens in the terminal
I don't know if this is what you were referring to ?
Thanks also @jcheng5 !
I was more thinking of something exactly like what I presume @jcheng5 didn't wish to reveal too early; http://appsilondatascience.com/blog/rstats/2017/11/01/r-promises-hands-on.html -- this may be where aside
was heading, but I suspect promise
precisely aligns with my 'FWIW' above.
I'm indeed thinking about changing the current workflow, so that it ...
Check out my (very shoddy) work at here doing exactly this (but for the niche use case of running rstan::sampling()
)