"O.Hamann" <o.ham...@gmx.net> writes:

Hi All,

as the author of of ob-picolisp I should make some smart comment now,
but I'm afraid I cannot add much to the discussion, the former answers
explained it all very well. As the answers show, the library still seems
to work fine, so the original problem looks not really ob-picolisp
specific but rather like a problem with using Org code blocks correctly.

Here is a link to the relevant manual section:
| http://orgmode.org/manual/Working-With-Source-Code.html    

and here one to the ob-picolisp doc:

| http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-picolisp.html

> I'm not really sure about namespaces, so I can't compare.
> Manual explains :session this way:
> ==
> The :session header argument starts a (possibly named) session for an
> interpreted language where the interpreter’s state is preserved. All
> code blocks sharing the same name are exectuted by the same
> interpreter process. By default, a session is not started. 
> ==
> (fetched from: http://orgmode.org/manual/session.html)

This is not related to PicoLisp namespaces but rather to the
communication between Emacs and PicoLisp. 

 - without session, Emacs/Org-mode starts a new PicoLisp instance for
   every query, so e.g. setting X to 3 in one code block and then adding 2
   to X in the next code block won't work, since the newly started
   instance for the second call knows nothing about X.
 - with session, Emacs starts one PicoLisp instance and keeps it
   alive, so that state is preserved. The call from the second code
   block goes to the same PicoLisp instance where symbol X was set to
   3 before, so the state of X is preserved and can be used for (+
   X 2) e.g.


UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to