emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Sebastian Rose <sebastian_rose@gmx.de>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: [Announcement] Org-babel initial release
Date: Tue, 15 Sep 2009 21:15:01 +0200	[thread overview]
Message-ID: <87ab0waukq.fsf@gmx.de> (raw)
In-Reply-To: <m2my4w9jpv.fsf@gmail.com> (Eric Schulte's message of "Tue, 15 Sep 2009 11:54:36 -0600")

"Eric Schulte" <schulte.eric@gmail.com> writes:
> Thanks, I hope fellow Orgers find it useful


Sure they do!

Make Emacs+Org-mode the `killer-application' :)


>> I wonder how complicated it would be to add more languages. Especially
>> PHP, JavaScript (e.g. per rhino) and Perl.
...

>> Hmmm - maybe `org-babel-sh.el' is a good starting point.
>>
>
> Yes, currently the best way to get a feel for how to add languages would
> be to start with an existing language file (I'd suggest
> org-babel-python.el or org-babel-ruby.el, or for simpler less
> comprehensive language support look at org-babel-ditaa or
> org-babel-haskell) and make changes from there.  I agree that a brief
> tutorial for adding language support would be helpful.


A skeleton maybe?
And just a few comments describing the I/O of the basic functions
(and/or the global vars/containers that take the results).


> Basically Org-babel expects any new language file to define two
> functions...
>
> - org-babel-execute:lang-name (body params) :: which executes the code
>      in body according to the header arguments in params, and
>
> - org-babel-prep-session:ruby (session params) :: which starts an
>      interactive session in session setting any variables from params


OK. I'll look at those...



> There are two key language specific features which keep us from treating
> all interpreted languages identically.
> 1) Org-babel collects the last value of a source-code block to be
>    returned (see [1]) and this value needs to be collected and
>    potentially converted into elisp in a language specific manner
> 2) Org-babel has support for evaluation in a session allowing
>    persistence of state between different blocks which use the same
>    session.  I now notice that the :session header argument is not
>    currently documented on the Worg page.  I'll try to add this
>    documentation soon.  The sessions are handled through Emacs comint
>    buffers which are very language specific.


Ahhh, I now comprehend.  You're library makes all kinds of source blocks
work together as  a whole. Great! I now  understand your intention! Make
that old  joke become true:  "Emacs is a  great OS, it's just  missing a
good editor" :-D
   ..... Nachtigall ick hör dir trappsen ...


Seriously: There's not that much code to write in the language
files. The features seem more than worth it. I just had little snippets
in mind... hrm, sorry.




> Footnotes: 
> [1]  http://orgmode.org/worg/org-contrib/babel/org-babel.php#results
>
> [2]  http://orgmode.org/worg/org-contrib/babel/org-babel.php#languages

OK - not _really_ RTFM :-D

I remember I stared at those sections last night - seems I was half
asleep already.




Best wishes


   Sebastian

  reply	other threads:[~2009-09-15 19:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-14 13:44 [Announcement] Org-babel initial release Eric Schulte
2009-09-15  8:20 ` Carsten Dominik
2009-09-15 13:31 ` Miguel Fernando Cabrera
2009-09-15 14:49   ` Eric Schulte
2009-09-15 15:10     ` Eric Schulte
2009-09-15 17:26 ` Sebastian Rose
2009-09-15 17:54   ` Eric Schulte
2009-09-15 19:15     ` Sebastian Rose [this message]
2009-09-15 20:03       ` Eric Schulte
2009-09-15 20:53         ` Sebastian Rose
2009-09-15 17:56   ` Rick Moynihan
2009-09-15 20:07     ` Eric Schulte
2009-09-15 22:02     ` Eric Schulte
2009-10-09 16:38       ` Marcelo de Moraes Serpa
2009-10-09 12:54 ` Org-babel for jython? Eric S Fraga
2009-10-09 15:34   ` Dan Davison

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=87ab0waukq.fsf@gmx.de \
    --to=sebastian_rose@gmx.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=schulte.eric@gmail.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 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).