* [babel] adding a language - problems
@ 2011-09-28 22:19 Thorsten
2011-09-28 22:56 ` Thorsten
0 siblings, 1 reply; 4+ messages in thread
From: Thorsten @ 2011-09-28 22:19 UTC (permalink / raw)
To: emacs-orgmode
Hi list,
I'm on my way to add a new (intrpreted) lisp dialect to org-babel, but
encounter a few difficulties. Here is my little testprogramm:
---------------------
#+tblname: tbl1
| 1 | 2 | 3 |
|---+---+---|
| 4 | 5 | 6 |
| 7 | 8 | 9 |
# external evaluation (no session)
#+srcname: pico-calc
#+begin_src picolisp :var tab=tbl1 :results value :hlines no
(+ (caar tab) (caar (cdr tab)))
#+end_src
# org-babel-error output:
[/tmp/babel-22634XBd/picolisp-script-22634K-K:1] !? (display (prog (let
(tab '((1 2 3) (4 5 6) (7 8 9))) (+ (caar tab) (caar (cdr tab))))))
display -- Undefined
# with session
#+srcname: pico-calc
#+begin_src picolisp :var tab=tbl1 :results value :hlines no :session "p1"
(+ (caar tab) (caar (cdr tab)))
#+end_src
#+results: pico-calc
[finishes with no output]
# session buffer:
(prog (let (tab '((1 2 3) (4 5 6) (7 8 9)))
(+ (caar tab) (caar (cdr tab)))) )
"org-babel-picolisp-eoe"
-> 5
: -> "org-babel-picolisp-eoe"
---------------
I do not know where undefined 'display' comes from in the error message
- seems to be a org-babel internal thing. What can I do about that,
where do I have to look?
The session evaluation works already, but there is a problem with the
eoe string. If I don't use it, Emacs hangs forever - waiting for the
session to return? If I use it, the right value is calculated, but not
returned - because the eoe string is evaluated after the source-body?
Thanks for any tips
Thorsten
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [babel] adding a language - problems
2011-09-28 22:19 [babel] adding a language - problems Thorsten
@ 2011-09-28 22:56 ` Thorsten
2011-09-29 12:48 ` Eric Schulte
0 siblings, 1 reply; 4+ messages in thread
From: Thorsten @ 2011-09-28 22:56 UTC (permalink / raw)
To: emacs-orgmode
Thorsten <quintfall@googlemail.com> writes:
> Hi list,
> I'm on my way to add a new (intrpreted) lisp dialect to org-babel, but
> encounter a few difficulties. Here is my little testprogramm:
>
> ---------------------
> #+tblname: tbl1
> | 1 | 2 | 3 |
> |---+---+---|
> | 4 | 5 | 6 |
> | 7 | 8 | 9 |
>
>
> # external evaluation (no session)
> #+srcname: pico-calc
> #+begin_src picolisp :var tab=tbl1 :results value :hlines no
> (+ (caar tab) (caar (cdr tab)))
> #+end_src
>
> # org-babel-error output:
> [/tmp/babel-22634XBd/picolisp-script-22634K-K:1] !? (display (prog (let
> (tab '((1 2 3) (4 5 6) (7 8 9))) (+ (caar tab) (caar (cdr tab))))))
> display -- Undefined
>
>
> # with session
> #+srcname: pico-calc
> #+begin_src picolisp :var tab=tbl1 :results value :hlines no :session "p1"
> (+ (caar tab) (caar (cdr tab)))
> #+end_src
>
> #+results: pico-calc
> [finishes with no output]
>
> # session buffer:
> (prog (let (tab '((1 2 3) (4 5 6) (7 8 9)))
> (+ (caar tab) (caar (cdr tab)))) )
> "org-babel-picolisp-eoe"
> -> 5
> : -> "org-babel-picolisp-eoe"
>
> ---------------
>
> I do not know where undefined 'display' comes from in the error message
> - seems to be a org-babel internal thing. What can I do about that,
> where do I have to look?
>
> The session evaluation works already, but there is a problem with the
> eoe string. If I don't use it, Emacs hangs forever - waiting for the
> session to return? If I use it, the right value is calculated, but not
> returned - because the eoe string is evaluated after the source-body?
>
> Thanks for any tips
> Thorsten
Sorry, I encountered the undefined 'display' in source code I copied
from ob-scheme, I deleted it, and then external evaluation succeeded -
but again without output.
So I seem to be quite close, evaluation work and the right value is
calculated - but not returned yet.
cheers
Thorsten
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [babel] adding a language - problems
2011-09-28 22:56 ` Thorsten
@ 2011-09-29 12:48 ` Eric Schulte
2011-09-29 18:27 ` Thorsten
0 siblings, 1 reply; 4+ messages in thread
From: Eric Schulte @ 2011-09-29 12:48 UTC (permalink / raw)
To: Thorsten; +Cc: emacs-orgmode
Thorsten <quintfall@googlemail.com> writes:
> Thorsten <quintfall@googlemail.com> writes:
>
>> Hi list,
>> I'm on my way to add a new (intrpreted) lisp dialect to org-babel, but
>> encounter a few difficulties. Here is my little testprogramm:
>>
>> ---------------------
>> #+tblname: tbl1
>> | 1 | 2 | 3 |
>> |---+---+---|
>> | 4 | 5 | 6 |
>> | 7 | 8 | 9 |
>>
>>
>> # external evaluation (no session)
>> #+srcname: pico-calc
>> #+begin_src picolisp :var tab=tbl1 :results value :hlines no
>> (+ (caar tab) (caar (cdr tab)))
>> #+end_src
>>
>> # org-babel-error output:
>> [/tmp/babel-22634XBd/picolisp-script-22634K-K:1] !? (display (prog (let
>> (tab '((1 2 3) (4 5 6) (7 8 9))) (+ (caar tab) (caar (cdr tab))))))
>> display -- Undefined
>>
>>
>> # with session
>> #+srcname: pico-calc
>> #+begin_src picolisp :var tab=tbl1 :results value :hlines no :session "p1"
>> (+ (caar tab) (caar (cdr tab)))
>> #+end_src
>>
>> #+results: pico-calc
>> [finishes with no output]
>>
>> # session buffer:
>> (prog (let (tab '((1 2 3) (4 5 6) (7 8 9)))
>> (+ (caar tab) (caar (cdr tab)))) )
>> "org-babel-picolisp-eoe"
>> -> 5
>> : -> "org-babel-picolisp-eoe"
>>
>> ---------------
>>
>> I do not know where undefined 'display' comes from in the error message
>> - seems to be a org-babel internal thing. What can I do about that,
>> where do I have to look?
>>
>> The session evaluation works already, but there is a problem with the
>> eoe string. If I don't use it, Emacs hangs forever - waiting for the
>> session to return? If I use it, the right value is calculated, but not
>> returned - because the eoe string is evaluated after the source-body?
>>
I assume you're using `org-babel-comint-with-output' to collect results?
If you're still having issues I'd suggest looking at some of the other
uses of this function in other ob-*.el files for example of ways that
it's use can be customized through code in the BODY section.
>>
>> Thanks for any tips Thorsten
>
>
> Sorry, I encountered the undefined 'display' in source code I copied
> from ob-scheme, I deleted it, and then external evaluation succeeded -
> but again without output.
Hopefully ":results output" is already working and it is just ":results
value" which requires more work. "results value" external evaluation
generally works by wrapping the body of the code block in a form which
will collect the result of the code block and print them to STDOUT.
Writing this wrapped body to a temporary file, evaluating this temporary
file, and then collecting the results from STDOUT. I'd suggest
confirming that each of the above steps are working independently.
>
> So I seem to be quite close, evaluation work and the right value is
> calculated - but not returned yet.
>
I hope the above helps. Let me know if you run into any more issues.
Cheers -- Eric
>
> cheers
> Thorsten
>
>
--
Eric Schulte
http://cs.unm.edu/~eschulte/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [babel] adding a language - problems
2011-09-29 12:48 ` Eric Schulte
@ 2011-09-29 18:27 ` Thorsten
0 siblings, 0 replies; 4+ messages in thread
From: Thorsten @ 2011-09-29 18:27 UTC (permalink / raw)
To: emacs-orgmode
Eric Schulte <schulte.eric@gmail.com> writes:
> Thorsten <quintfall@googlemail.com> writes:
>
>> Thorsten <quintfall@googlemail.com> writes:
>>
>>> Hi list,
>>> I'm on my way to add a new (intrpreted) lisp dialect to org-babel, but
>>> encounter a few difficulties. Here is my little testprogramm:
>>>
>>> ---------------------
>>> #+tblname: tbl1
>>> | 1 | 2 | 3 |
>>> |---+---+---|
>>> | 4 | 5 | 6 |
>>> | 7 | 8 | 9 |
>>>
>>>
>>> # external evaluation (no session)
>>> #+srcname: pico-calc
>>> #+begin_src picolisp :var tab=tbl1 :results value :hlines no
>>> (+ (caar tab) (caar (cdr tab)))
>>> #+end_src
>>>
>>> # org-babel-error output:
>>> [/tmp/babel-22634XBd/picolisp-script-22634K-K:1] !? (display (prog (let
>>> (tab '((1 2 3) (4 5 6) (7 8 9))) (+ (caar tab) (caar (cdr tab))))))
>>> display -- Undefined
>>>
>>>
>>> # with session
>>> #+srcname: pico-calc
>>> #+begin_src picolisp :var tab=tbl1 :results value :hlines no :session "p1"
>>> (+ (caar tab) (caar (cdr tab)))
>>> #+end_src
>>>
>>> #+results: pico-calc
>>> [finishes with no output]
>>>
>>> # session buffer:
>>> (prog (let (tab '((1 2 3) (4 5 6) (7 8 9)))
>>> (+ (caar tab) (caar (cdr tab)))) )
>>> "org-babel-picolisp-eoe"
>>> -> 5
>>> : -> "org-babel-picolisp-eoe"
>>>
>>> ---------------
>>>
>>> I do not know where undefined 'display' comes from in the error message
>>> - seems to be a org-babel internal thing. What can I do about that,
>>> where do I have to look?
>>>
>>> The session evaluation works already, but there is a problem with the
>>> eoe string. If I don't use it, Emacs hangs forever - waiting for the
>>> session to return? If I use it, the right value is calculated, but not
>>> returned - because the eoe string is evaluated after the source-body?
>>>
>
> I assume you're using `org-babel-comint-with-output' to collect results?
> If you're still having issues I'd suggest looking at some of the other
> uses of this function in other ob-*.el files for example of ways that
> it's use can be customized through code in the BODY section.
yes, I use org-babel-comint-with-output more or less in the way it is
used in ob-scheme.el.
>
>>>
>>> Thanks for any tips Thorsten
>>
>>
>> Sorry, I encountered the undefined 'display' in source code I copied
>> from ob-scheme, I deleted it, and then external evaluation succeeded -
>> but again without output.
>
> Hopefully ":results output" is already working and it is just ":results
> value" which requires more work.
No, it isn't working - same thing as with :results value - no error
messages, but nothing is returned either and no output. I have to take a
deeper look at whats happening behind the scenes.
> "results value" external evaluation
> generally works by wrapping the body of the code block in a form which
> will collect the result of the code block and print them to STDOUT.
> Writing this wrapped body to a temporary file, evaluating this temporary
> file, and then collecting the results from STDOUT. I'd suggest
> confirming that each of the above steps are working independently.
>
>>
>> So I seem to be quite close, evaluation work and the right value is
>> calculated - but not returned yet.
>>
>
> I hope the above helps. Let me know if you run into any more issues.
>
> Cheers -- Eric
Thanks so far, I'll try to understand the workings of ob.el & friends
better and then hope to get things to work.
cheers
Thorsten
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-09-29 18:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-28 22:19 [babel] adding a language - problems Thorsten
2011-09-28 22:56 ` Thorsten
2011-09-29 12:48 ` Eric Schulte
2011-09-29 18:27 ` Thorsten
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).