I'm looking for a way to approximate the "zero-overhead" model of code reuse available in languages like Python, Perl, etc.
I've described this idea in more detail, and the motivation for this question in an earlier post to R-help (https://stat.ethz.ch/pipermail/r-help/2016-September/442174.html). (One of the responses I got advised that I post my question here instead.) The best I have so far is to configure my PROJ_R_LIB environment variable to point to the directory with my shared code, and put a function like the following in my .Rprofile file: import <- function(name){ ## usage: ## import("foo") ## foo$bar() path <- file.path(Sys.getenv("PROJ_R_LIB"),paste0(name,".R")) if(!file.exists(path)) stop('file "',path,'" does not exist') mod <- new.env() source(path,local=mod) list2env(setNames(list(mod),list(name)),envir=parent.frame()) invisible() } (NB: the idea above is an elaboration of the one I showed in my first post.) But this is very much of an R noob's solution. I figure there may already be more solid ways to achieve "zero-overhead" code reuse. I would appreciate any suggestions/critiques/pointers/comments. TIA! kj ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel