Rainer M Krug writes: > Rainer M Krug writes: > >> Envoyé de mon iPhone >> >>> Le 8 mai 2014 à 04:26, Charles Berry a écrit : >>> >>> Eric Schulte gmail.com> writes: >>> >>>> >>>> Rainer M Krug krugs.de> writes: >>>> >>>>> Hi >>>>> >>>>> Attached please find seven patches for review to implement the storing >>>>> of org variables in their own environment and to make the org-issued R >>>>> code look nicer in the R session. >>>>> >>>>> Thanks, >>>>> >>>>> Rainer >>>> >>>> Hi Rainer, >>>> >>>> Thanks for these patches. I don't have the R experience to review or >>>> maintain them, but I'm happy to apply them. >>>> >>>> I missed some previous discussion in this thread. Are these patches >>>> ready to be applied as is? >>> >>> >>> IMO, the patches hard coded behaviors that would better be customizable >>> and optional. >> >> I'll give feedback tomorrow and let you know about customization of >> the name of the environment. The general behavior of storing the >> variables in an environment should not be customizable as it is >> >> 1) safer then the behavior of storing each variable separately >> 2) no changes for the user are introduced > > OK. Concerning customization options: > > There are a few points where customizations could be introduced: > > 1) transfer of variables from org to R, i.e. old behavior (variables in > .GlobalEnv) or new behavior (in own environment (.org_variables_)) or > own defined function > > 2) name of new environment > > 3) name of file into which to save the variables (org_variables.RData) > > Some comments to each: > > 1) As outlined above, I see neither changes in behavior for the user > nor disadvantages of the new behavior. As only one object is created in > R (.org_variables_) instead of one for each variable, the chances of > name clashes are much smaller. As the name of the variable starts with a > dot (.), ends with an underscore (_), it is very unlikely that there is > a nameclash in existing scripts (but you are right, one does not know). > So I don't think, that it is necessary to include an option for > disabling the old behavior. > > Concerning defining an own function for data transfer, I am thinking of > putting the variable transfer into an R function which can then be > customized from R. My reasoning is that users using this feature are > more likely to be fluent in R then in lisp, so more able to change these > functions in R. In org, the whole R code would then simply replaced with > one function call. These functions would reside in a new environment (or > in the ESSR environment as offered by Vitalie). > > In addition, as it was not asked before to have this function > customizable, I don't think there would be a large need for it. > > 2) I don't think name clashes are likely, so I don't see a real need to > have the name of the org environment in R configurable. Especially when > using these variables in R, one can always use > .org_variables_::VARIABLENAME to access the original value. If the > environment name is customizable, this will be different between > customizations and not that easily reproducible between > org-installations. > > It would be easy to configure it, but I think it is rather a > disadvantage and would make the code (slightly) more complex. > > 3) The name into which the variables are saved could be configurable, > but again, I do not think this is such an issue. The saved environment > is anyway only of limited usage when the variables in org are not > defined file wide but per source block / tree. I am actually thinking of > removing this saving, although it is quite useful to make tangled code > usable on a non-org system when org variables are used - comments? > > So please let me know if you see the need of customization and for > which aspect. I started looking into ESS in more detail and I got some useful ideas. I am including them at the moment in org, so please do not yet apply the patches. Cheers, Rainer > >> >> Cheers >> >> Rainer >> >>> >>> Rainer and I had some back and forth about this -- see the thread. >>> >>> Best, >>> >>> Chuck >>> >>> >>> -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug PGP: 0x0F52F982