emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Thomas S. Dye" <tsd@tsdye.com>
To: Dan Davison <davison@stats.ox.ac.uk>
Cc: Org Mode Mailing List <emacs-orgmode@gnu.org>
Subject: Re: [babel] Uses for :session buffers
Date: Wed, 4 Nov 2009 13:00:36 -1000	[thread overview]
Message-ID: <973A6E58-572B-4D09-9CB2-C36C86D31C60@tsdye.com> (raw)
In-Reply-To: <87vdhqlzhr.fsf@stats.ox.ac.uk>

On Nov 4, 2009, at 12:02 PM, Dan Davison wrote:

> 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/

Aloha Dan,

Thank you.  This is extremely helpful, much more convenient than the  
path I was following.

I think I'm beginning to understand what Eric meant when he wrote  
about emacs taking over his OS and org-mode taking over his emacs.   
It's astonishing to me how quickly and easily org-mode + org-babel  
took over my research project.  The transition from idea to  
implementation seems almost frictionless now, and I'm just getting  
started.

All the best,
Tom

>
>>>
>>
>> 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
>
>
>

      reply	other threads:[~2009-11-04 23:00 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
2009-11-04 23:00     ` Thomas S. Dye [this message]

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=973A6E58-572B-4D09-9CB2-C36C86D31C60@tsdye.com \
    --to=tsd@tsdye.com \
    --cc=davison@stats.ox.ac.uk \
    --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).