From: Eric Schulte <schulte.eric@gmail.com>
To: Achim Gratz <Stromeko@nexgo.de>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH] * lisp/ob-core.el (org-babel-execute-src-block): insert hash for silent results
Date: Sat, 09 Mar 2013 11:35:28 -0700 [thread overview]
Message-ID: <87ip50qv36.fsf@gmail.com> (raw)
In-Reply-To: 87k3phs84b.fsf@Rainer.invalid
Achim Gratz <Stromeko@nexgo.de> writes:
> Eric Schulte writes:
>> I prefer leaving the hash with the results, as it is the results which
>> are "hashed". Also, same input does not always guarantee same output,
>> e.g.,
>>
>> #+begin_src sh
>> date
>> #+end_src
>
> That's not what I'm seeing, but I may be missing something again. The
> hash is for the parameters of the call, not the result. If I'm editing
> the result, Babel still marks the cache valid and does not re-compute
> it. It does re-compute if I change the parameters explicitly or
> implicitly, even if the result will not change.
>
A hash marks a *result* with an indication of what was used to generate
it (code block & parameters). The point of a hash is to allow the
result to be returned without having to re-execute. For this reason, I
think that the hash should live with the result. In general a hash
without a result doesn't make sense (because then what is cached?).
If one did want to move hashes to code blocks it would be a major
refactoring which would (in my opinion) require significant
justification.
As I understand this particular case, the OP is using a hash not to mark
a result as up to date, but rather to mark a side effect (loading data
into R) as having taken place. I think this is a misuse of a cache.
What if the R process restarts? The hash would still be valid, but the
side effects have been lost. I think a better approach would be to
implement the logic in R required to check if data is present and
conditionally load it if not. Then simply re-run this conditional
reloading code in full every time.
It is very possible I've missed something.
I hope these comments are helpful.
Best,
--
Eric Schulte
http://cs.unm.edu/~eschulte
next prev parent reply other threads:[~2013-03-09 18:36 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-06 4:07 [PATCH] * lisp/ob-core.el (org-babel-execute-src-block): insert hash for silent results Aaron Ecay
2013-03-08 21:25 ` Aaron Ecay
2013-03-08 22:07 ` Eric Schulte
2013-03-08 21:53 ` Achim Gratz
2013-03-08 22:09 ` Eric Schulte
2013-03-08 22:24 ` aaronecay
2013-03-09 17:45 ` Eric Schulte
2013-03-09 18:56 ` Aaron Ecay
2013-03-09 20:03 ` Achim Gratz
2013-03-09 0:57 ` Achim Gratz
2013-03-09 18:35 ` Eric Schulte [this message]
2013-03-09 19:22 ` Aaron Ecay
2013-03-09 20:26 ` Eric Schulte
2013-03-13 3:55 ` Aaron Ecay
2013-03-13 14:45 ` Eric Schulte
2013-03-19 4:49 ` Aaron Ecay
2013-03-23 22:34 ` Eric Schulte
2013-04-01 5:10 ` Aaron Ecay
2013-04-02 22:14 ` Eric Schulte
2013-03-10 8:52 ` Achim Gratz
2013-03-10 20:14 ` Sebastien Vauban
2013-03-10 21:06 ` Achim Gratz
2013-03-13 4:12 ` Aaron Ecay
2013-03-13 7:50 ` Achim Gratz
2013-03-13 14:42 ` Eric Schulte
2013-03-13 18:25 ` Achim Gratz
2013-03-14 19:52 ` Eric Schulte
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ip50qv36.fsf@gmail.com \
--to=schulte.eric@gmail.com \
--cc=Stromeko@nexgo.de \
--cc=emacs-orgmode@gnu.org \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).