On Fri, 21 Aug 2015, Andreas Leha wrote: > Hi, > > Just a small comment. > > [ ... discussion of :caching of evaluation results ... ] > >> For purely R-based work, Charles Berry¢s ox-ravel package >> >> is a very interesting approach, since it relies on the cache feature of >> knitr, which is capable of automatically detecting cross-block >> dependencies like the example above under some circumstances >> . It would be interesting to see >> if that approach could be used to override :cache handling for ob-R, >> while falling back on org-babel¢s less intelligent features for other >> languages (or in R environments that don¢t have knitr available). > > That would be just awesome! I think I understand what Aaron is suggesting, but... In ox-ravel exports, non-R src blocks get executed as usual, while R blocks get converted to `chunks' for later processing by knitr or Sweave or whatever. Anything that needs to be communicated from other languages to R via noweb `<>' or `:var rvar=elisp-block()' headers should work. That is, the resulting chunks will have code put into them as usual in R src block execution. (And this is useful for passing latex code to R, for example.) But when the R code is run under knitr or some other engine outside of org mode, it cannot communicate values back to src blocks using other languages. Or even other R src blocks using `:var rvar=r-src-block()', say. And it cannot use `:post' header args. I agree it would be interesting to adapt knitr or some other dependency-aware caching engine to run under babel control to allow R to push results to other src blocks. I don't know how hard it would be to make it work well. Chuck p.s. I just pushed an org mode translation of auto-dependson.Rnw from https://github.com/yihui/knitr-examples to the ravel-lang branch at https://github.com/chasberry/orgmode-accessories/blob/ravel-lang/autodep.org It illustrates automatic dependency-aware caching of R src blocks. p.p.s. I expect to move the `ravel-lang' branch to `master' soon, so I encourage users to try that branch.