Dear Richard, You can do: #+BEGIN_SRC mathematica f[x_] := x+3; f[5] #+END_SRC Here are explanations: I actually put everything in the SRC block into a Print[...]. So in the second example, what actually runs is Print[f[x_] := x+3 f[5]] This does not return any value. Because what it really does is print the value of "f[x_] := x+3 f[5]" Here is the code: (concat (mapconcat ;; define any variables (lambda (pair) (format "%s=%s;" (car pair) (org-babel-mathematica-var-to-mathematica (cdr pair)))) vars "\n") "\nPrint[\n" body "\n]\n") If anybody has idea to improve it, I will be happy to see and work it out! Best, Yi On Sat, Mar 14, 2015 at 7:09 AM John Kitchin wrote: > I wonder if this is an output vs value issue on the return of the > block. If you set :results output does anything change? or, is there a > way to specify a return value? or specifically print something? > > Richard Stanton writes: > > > I recently saw this posting about org support for Mathematica. Thanks > for writing this! > > > > Unfortunately, while I can get it to work for simple things (e.g., 2+3), > even slightly more complex things don't seem to work. For example, suppose > I'd like to define a function f(x) = x + 3, and then calculate f(5). In a > MMA notebook, if I type > > > > f[x_] := x+3 > > f[5] > > > > I get the answer 8. If I try the same code in an org-mode code block, > here's what happens: > > > > #+BEGIN_SRC mathematica > > f[x_] := x+3 > > f[5] > > #+END_SRC > > > > #+RESULTS: > > : Null > > > > Am I missing something obvious here? > > > > Thanks very much. > > > > Richard Stanton > > -- > Professor John Kitchin > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu >