From: Eric Schulte <schulte.eric@gmail.com>
To: Michael Hannon <jm_hannon@yahoo.com>
Cc: Org-Mode List <emacs-orgmode@gnu.org>
Subject: Re: Question about using :cache in Babel (for R)
Date: Tue, 27 Sep 2011 18:42:12 -0600 [thread overview]
Message-ID: <87vcsdwl79.fsf@gmail.com> (raw)
In-Reply-To: 1317156800.22065.YahooMailNeo@web161912.mail.bf1.yahoo.com
Michael Hannon <jm_hannon@yahoo.com> writes:
> Greetings. I have a question that relates to the use of the :cache option in
> Babel sessions using R.
>
> Here's the relevant configuration information:
>
> Emacs : GNU Emacs 23.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.24.4)
> of 2011-05-23 on x86-12.phx2.fedoraproject.org
> Package: Org-mode version 7.7 (release_7.7.328.g1a97)
>
> I've appended the text of a file that exhibits the issue, which is the
> following. If I explicitly evaluate a given code block, using, let's say, C-c
> C-c, I get the results stuck into the Org file, as in the first source-code
> block below. If I then repeatedly export the file (to PDF, HTML, etc.), I get
> the cached results in the exported document. For instance, the mean of the
> random variable does not change as I repeatedly export the file.
>
> If for some reason I have NOT explicitly evaluated a given code block, as with
> the second code block below, then during export I see a message "Evaluating
> code block" (or similar), indicating that Babel is NOT using a cached version,
> and no cacheable output is produced as a result, meaning that the entire
> calculation will be repeated during the next export. For instance, the mean
> of the random variable will be different every time I export the file.
>
Hi Mike,
This is the expected behavior. Org-mode files are just plain text, so
if the results are not saved in the Org-mode file then there is no place
to cache them. Since Org does not change the contents of Org-mode files
the only way to save the result of a code block is to interactively
evaluate the code block -- there is no way to generate and save cached
results during export.
>
> I guess I can see the logic of this, but I wonder if there is some way to
> instruct Babel to automatically cache the output of any code blocks it
> evaluates, i.e., via a header argument or elisp variable or ... .
>
Nope, in the past we have played with things like an in-memory variable,
but have abandoned such things as they would move away from the "just
plain text" spirit of Org-mode, would require external storage on disk,
and could ultimately lead to more confusing behavior than the current
situation.
>
> Thanks,
>
> -- Mike
>
> P.S. Is the SHA1(?) identifier for the results a new feature?
>
No, this is how Babel knows if the contents of the code block have
changed and hence if the cached results are still valid.
Best -- Eric
>
> ----------
>
> #+TITLE:
> #+AUTHOR:
> #+DATE:
>
> #+STARTUP: hideblocks
> #+BABEL: :session *R* :cache yes :results output verbatim :exports both
> :tangle yes
>
> * This is a test
>
> #+begin_src R
>
> x = rnorm(10)
> mean(x)
>
> #+end_src
>
> #+results[9b9372488662083d0d211b9aad9c2985faba20cd]:
> : [1] -0.07904561
>
> * Here's a second test
>
> #+begin_src R
>
> x = rnorm (50)
> summary(x)
>
> #+end_src
--
Eric Schulte
http://cs.unm.edu/~eschulte/
next prev parent reply other threads:[~2011-09-28 0:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-27 20:53 Question about using :cache in Babel (for R) Michael Hannon
2011-09-28 0:42 ` Eric Schulte [this message]
2011-09-28 3:14 ` Michael Hannon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vcsdwl79.fsf@gmail.com \
--to=schulte.eric@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=jm_hannon@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.