emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [Announcement] Org-babel initial release


From: Sebastian Rose
Subject: Re: [Orgmode] [Announcement] Org-babel initial release
Date: Tue, 15 Sep 2009 21:15:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

"Eric Schulte" <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]