emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Davison <davison@stats.ox.ac.uk>
To: Stephan Schmitt <drmabuse@cs.tu-berlin.de>
Cc: Org Mode Mailing List <emacs-orgmode@gnu.org>
Subject: Re: [babel] Uses for :session buffers
Date: Wed, 04 Nov 2009 17:02:56 -0500	[thread overview]
Message-ID: <87vdhqlzhr.fsf@stats.ox.ac.uk> (raw)
In-Reply-To: <4AF1E793.2080205@cs.tu-berlin.de> (Stephan Schmitt's message of "Wed, 04 Nov 2009 21:44:03 +0100")

Stephan Schmitt <drmabuse@cs.tu-berlin.de> writes:

> Thomas S. Dye wrote:
>> Aloha all,
>>
>> I'm trying to comprehend the possibilities created by org-babel, and
>> would like to draw on the experience of others if I could.
>>
>> I recently discovered the buffer created by :session.  In my case,
>> this is an R session that I am building to track the data collection
>> phase of a research project.  I was delighted to find that it
>> appears to have recorded everything my org file had done in that
>> session.  I have a vague idea that it might be useful to save this
>> as a log to prove that all the little source blocks in my org file
>> indeed were called and executed successfully. 
>>
>> I'm wondering: do other org-babelers use the :session buffer?  How?
>> For what purpose?

Hi Tom,

For R users, org-babel is intended to be used in conjunction with ESS[1]
and personally I continue to use the inferior-ESS mode *R* buffer (aka R
session buffer) in a similar way to when I was using ESS alone. So for
example

1. In an ess-mode (R) edit buffer, I use the ess-eval-* family of
   functions to evaluate lines, regions, etc. In particular, to debug a
   code block I switch to an R edit buffer with C-c ', then evaluate
   line-by-line using C-c C-n (ess-eval-line-and-step).[2]
2. In an ess-mode (R) edit buffer, I use C-z (ess-switch-to-end-of-ESS)
   to switch to the R session buffer (inferior-ESS mode)
3. In the R session buffer, I try out evaluation of expressions, query
   data structure contents with str(), list objects in the environment,
   etc.
4. There are many other nice facilities provided by ESS when working in
   an R edit buffer with an associated active R session, such as object
   name completion, displaying formal arguments to functions while you
   type, etc.

I believe that to some extent you can work in a similar way with
interactive python and ruby sessions but personally I don't have much
experience with that yet. It was always a key aim of org-babel (made
easy by org-mode's C-c ') that it should not get in the way of whatever
other emacs facilities exist for working with interactive emacs sessions
in a particular language. Incidentally, maintaining this sort of
automatic compatibility with language-specific software like ESS is one
reason why I am slightly skeptical about the value of using org-babel in
a "dual major-mode" fashion as was suggested in a separate thread today.

Dan

Footnotes:

[1] http://ess.r-project.org/

>>
>
> Another advantage: you can set a variable in one source block
> and access it in the next one.
>
> Greetings,
> 	Stephan
>
>> Any tips or advice will be appreciated.
>>
>> All the best,
>> Tom
>>
>> Thomas S. Dye, Ph.D.
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  parent reply	other threads:[~2009-11-04 22:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-04 19:24 [babel] Uses for :session buffers Thomas S. Dye
2009-11-04 20:44 ` Stephan Schmitt
2009-11-04 21:26   ` Thomas S. Dye
2009-11-04 22:02   ` Dan Davison [this message]
2009-11-04 23:00     ` Thomas S. Dye

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=87vdhqlzhr.fsf@stats.ox.ac.uk \
    --to=davison@stats.ox.ac.uk \
    --cc=drmabuse@cs.tu-berlin.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).