On Fri, Mar 29, 2013 at 4:58 PM, Andreas Röhler <
andreas.roeh...@easy-emacs.de> wrote:

> Am 29.03.2013 21:10, schrieb Gary Oberbrunner:
>
>  On Fri, Mar 29, 2013 at 11:29 AM, Andreas Röhler <
>> andreas.roeh...@easy-emacs.de> wrote:
>>
>>  IMO org-babel should be able to run source code as is.
>>> If an org-mode specific modification is required at such a trivial form,
>>> what to expect wrt complex environments?
>>>
>>> BTW this fails also:
>>>
>>> #+begin_src python
>>> print "Hello, world!"
>>> #+end_src python
>>>
>>> #+RESULTS:
>>> : None
>>>
>>>
>> As the worg doc says, if you want to capture stdout rather than a value,
>> you need :results output.  The default is :results value (which in session
>> mode is the last expression executed, and in non-session mode is whatever
>> you return().)
>>
>> I agree it is a little odd, but given how python works it's not clear to
>> me
>> how to improve it.
>>
>
> Hi Gary,
>
> if someone wants the value of the last expression returned, it's much
> simpler to write Python/native
> language, than cryptic, lately documented org-mode flags.
> That's a kind of re-inventing a programming-language, also redundant.
>
>  Specifically, in non-session mode, the python
>
>> interpreter is run as a separate process and fed the input (with some
>> stuff
>> around it).  There is no way for python to get "the last value" in
>> non-interactive mode,
>>
>
> No? Any program may output any of it's values.
>
>  so instead ob-python wraps your code in a function,
>> then calls it, and writes the return value of that function to the temp
>> file.  Conversely in session mode, each block is talking to the same
>> interactive python interpreter, just what you get if you type 'python' at
>> the shell.  So using return() there doesn't make any sense, and wouldn't
>> work.
>>
>
> The use of "return" doesn't depend from interactive mode.
> It's related to a function.
>
> Seen from org-user, IMO any back-ends interactive mode or not is not of
> interest.
> ":session" mimics and/or probably uses it, but it would also possible to
> implement it as a file, loading
> previous values from a storage.
>
> I don't see any way to make them both behave the same way.
>
> Probably most useful at this list is to define which feature/behavior is
> most convenient.
> Why people use this mode, what they want to do.
>

I think the very most useful thing would be for you to code up what you're
thinking of, and show it here.

-- 
Gary

Reply via email to