Sebastien Vauban writes:

> The following does work.

It does, I agree, but this does not. If you run export on this:

--8<---------------cut here---------------start------------->8---
# -*- org-confirm-babel-evaluate: nil -*-

Setting the stage

#+BEGIN_SRC ocaml :results silent :exports none
let f x = x;;
#+END_SRC

Using the function

#+BEGIN_SRC ocaml :results code verbatim :exports results
f 3;;
#+END_SRC
--8<---------------cut here---------------end--------------->8---

Then the `f 3' results in an error. Looking in the ocaml buffer that is
launched for evaluation, one sees:

,----
| f 3;;
| "org-babel-ocaml-eoe";;
| Characters 0-1:
|   f 3;;
|   ^
| Error: Unbound value f
| # - : string = "org-babel-ocaml-eoe"
`----

And the declaration of f was not run.

If you replace `none' by `results' for the `:exports' of the first
block, then everything works fine.

I don't think this is specific to ocaml, I guess it may happen with
every session-based evaluation.

Alan

Reply via email to