From frederik at ofb.net  Mon Oct  3 01:09:56 2016
From: frederik at ofb.net (frederik at ofb.net)
Date: Sun, 2 Oct 2016 16:09:56 -0700
Subject: [Rd] On implementing zero-overhead code reuse
In-Reply-To: <CAFvQaj4Bcd-FW_z2Sc019d9JUa_Xy3Xz0HO=Ze16ZLnGJx4JiQ@mail.gmail.com>
References: <CAFvQaj4Bcd-FW_z2Sc019d9JUa_Xy3Xz0HO=Ze16ZLnGJx4JiQ@mail.gmail.com>
Message-ID: <20161002230956.GT9995@ofb.net>

Hi Kynn,

Do you mind defining the term "zero-overhead model of code reuse"?

I think I understand what you're getting at, but not sure.

Thank you,

Frederick

On Sun, Oct 02, 2016 at 01:29:52PM -0400, Kynn Jones wrote:
> 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 at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



[Rd] On implementing zero-overhead code reuse
frederik at ofb.net