* Re: Babel language support for Mathematica
@ 2015-03-13 23:06 Richard Stanton
2015-03-13 23:09 ` John Kitchin
0 siblings, 1 reply; 14+ messages in thread
From: Richard Stanton @ 2015-03-13 23:06 UTC (permalink / raw)
To: emacs-orgmode; +Cc: tririverwangyi
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
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2015-03-13 23:06 Babel language support for Mathematica Richard Stanton
@ 2015-03-13 23:09 ` John Kitchin
2015-03-13 23:16 ` Yi Wang
0 siblings, 1 reply; 14+ messages in thread
From: John Kitchin @ 2015-03-13 23:09 UTC (permalink / raw)
To: Richard Stanton; +Cc: emacs-orgmode, tririverwangyi
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
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2015-03-13 23:09 ` John Kitchin
@ 2015-03-13 23:16 ` Yi Wang
2015-03-15 17:26 ` Richard Stanton
0 siblings, 1 reply; 14+ messages in thread
From: Yi Wang @ 2015-03-13 23:16 UTC (permalink / raw)
To: John Kitchin, Richard Stanton; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1860 bytes --]
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 <jkitchin@andrew.cmu.edu>
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
>
[-- Attachment #2: Type: text/html, Size: 3986 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2015-03-13 23:16 ` Yi Wang
@ 2015-03-15 17:26 ` Richard Stanton
0 siblings, 0 replies; 14+ messages in thread
From: Richard Stanton @ 2015-03-15 17:26 UTC (permalink / raw)
To: Yi Wang; +Cc: emacs-orgmode, John Kitchin
[-- Attachment #1: Type: text/plain, Size: 2454 bytes --]
Thanks. After a bit of experimentation, I found that you can have a block outputting several lines, but you need to manually add commas and carriage returns, e.g.,
#+BEGIN_SRC mathematica :results output
f[x_] := 3*x^2+3;
f[8], "\n",
D[f[x],x]
#+END_SRC
#+RESULTS:
: 195
: 6*x
> On Mar 13, 2015, at 4:16 PM, Yi Wang <tririverwangyi@gmail.com> wrote:
>
> 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 <jkitchin@andrew.cmu.edu <mailto:jkitchin@andrew.cmu.edu>> 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 <http://kitchingroup.cheme.cmu.edu/>
[-- Attachment #2: Type: text/html, Size: 6036 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Babel language support for Mathematica
@ 2014-01-09 3:46 Yi Wang
2014-01-09 10:28 ` Bastien
0 siblings, 1 reply; 14+ messages in thread
From: Yi Wang @ 2014-01-09 3:46 UTC (permalink / raw)
To: emacs-orgmode; +Cc: Yi Wang
[-- Attachment #1: Type: text/plain, Size: 744 bytes --]
Hello,
As far as I can find, there is no babel support for Mathematica. So I wrote
one and share it in case other people are interested:
https://github.com/tririver/wy-els/blob/master/ob-mathematica.el
It is also discussed in this blog
http://cosmosimple.blogspot.co.uk/2014/01/evaluate-mathematica-code-in-emacs-org.html
While writing this extension, I have a question: How to add font-lock mode
in org code blocks? I had a read of ob-C and ob-python code and didn't find
out how they do font-lock.
Note that the font lock support for Mathematica is available as mma-mode at
https://github.com/skaslev/emacs.d/blob/master/progmodes/mma.el
For my case in a .m file I have font lock from mma.el, but not src code
blocks.
Best wishes,
Yi
[-- Attachment #2: Type: text/html, Size: 1231 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 3:46 Yi Wang
@ 2014-01-09 10:28 ` Bastien
2014-01-09 10:34 ` Sebastien Vauban
2014-01-09 10:51 ` Yi Wang
0 siblings, 2 replies; 14+ messages in thread
From: Bastien @ 2014-01-09 10:28 UTC (permalink / raw)
To: Yi Wang; +Cc: emacs-orgmode
Hi Yi,
Yi Wang <tririverwangyi@gmail.com> writes:
> As far as I can find, there is no babel support for Mathematica. So I
> wrote one and share it in case other people are interested:
>
> https://github.com/tririver/wy-els/blob/master/ob-mathematica.el
Nice, thanks for sharing!
(By the way, you should fix the .el header, it says that the file is
part of Emacs while it's not.)
> While writing this extension, I have a question: How to add font-lock
> mode in org code blocks?
(setq org-src-fontify-natively t)
HTH,
--
Bastien
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 10:28 ` Bastien
@ 2014-01-09 10:34 ` Sebastien Vauban
2014-01-09 10:39 ` Bastien
2014-01-09 10:51 ` Yi Wang
1 sibling, 1 reply; 14+ messages in thread
From: Sebastien Vauban @ 2014-01-09 10:34 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Bastien,
Bastien wrote:
>> While writing this extension, I have a question: How to add font-lock
>> mode in org code blocks?
>
> (setq org-src-fontify-natively t)
Shouldn't that be enabled by default, now, as there so many users who
seems to be unaware of that?
Or is there a fear of impacts on overall performance?
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 10:34 ` Sebastien Vauban
@ 2014-01-09 10:39 ` Bastien
0 siblings, 0 replies; 14+ messages in thread
From: Bastien @ 2014-01-09 10:39 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ
Hi Sébastien,
"Sebastien Vauban" <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
writes:
>> (setq org-src-fontify-natively t)
>
> Shouldn't that be enabled by default, now, as there so many users who
> seems to be unaware of that?
Well, I'm all for it.
> Or is there a fear of impacts on overall performance?
No, I don't think so.
Can you create a separate thread and poll the user for whether they
want this to be the default for the next major release?
Thanks!
--
Bastien
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 10:28 ` Bastien
2014-01-09 10:34 ` Sebastien Vauban
@ 2014-01-09 10:51 ` Yi Wang
2014-01-09 10:55 ` Bastien
1 sibling, 1 reply; 14+ messages in thread
From: Yi Wang @ 2014-01-09 10:51 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1111 bytes --]
Hi, Bastien,
> (By the way, you should fix the .el header, it says that the file is
> part of Emacs while it's not.)
Sorry I thought it was general GPL... Now it is updated. Thank you for
pointing that out!
> (setq org-src-fontify-natively t)
Yes, I already set this. But curiously the Mathematica code is still not
highlighted like other codes. I wonder there may be some non-standard
things inside mma.el (the Mathematica package file major mode) then?
Best,
Yi
On Thu, Jan 9, 2014 at 10:28 AM, Bastien <bzg@gnu.org> wrote:
> Hi Yi,
>
> Yi Wang <tririverwangyi@gmail.com> writes:
>
> > As far as I can find, there is no babel support for Mathematica. So I
> > wrote one and share it in case other people are interested:
> >
> > https://github.com/tririver/wy-els/blob/master/ob-mathematica.el
>
> Nice, thanks for sharing!
>
> (By the way, you should fix the .el header, it says that the file is
> part of Emacs while it's not.)
>
> > While writing this extension, I have a question: How to add font-lock
> > mode in org code blocks?
>
> (setq org-src-fontify-natively t)
>
> HTH,
>
> --
> Bastien
>
[-- Attachment #2: Type: text/html, Size: 2743 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 10:51 ` Yi Wang
@ 2014-01-09 10:55 ` Bastien
2014-01-09 11:03 ` Yi Wang
0 siblings, 1 reply; 14+ messages in thread
From: Bastien @ 2014-01-09 10:55 UTC (permalink / raw)
To: Yi Wang; +Cc: emacs-orgmode
Yi Wang <tririverwangyi@gmail.com> writes:
> Yes, I already set this. But curiously the Mathematica code is still
> not highlighted like other codes. I wonder there may be some
> non-standard things inside mma.el (the Mathematica package file major
> mode) then?
I don't think so, you may just have to check that the mode defined in
mma.el is automatically boundled with .m files -- which is not the case
with a default Emacs installation, where .m files are open with
objc-mode.
--
Bastien
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 10:55 ` Bastien
@ 2014-01-09 11:03 ` Yi Wang
2014-01-09 11:15 ` Bastien
0 siblings, 1 reply; 14+ messages in thread
From: Yi Wang @ 2014-01-09 11:03 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1359 bytes --]
> I don't think so, you may just have to check that the mode defined in
> mma.el is automatically boundled with .m files -- which is not the case
> with a default Emacs installation, where .m files are open with
> objc-mode.
I already have this line in my configuration file:
(add-to-list 'auto-mode-alist '("\\.m\\'" . mma-mode))
Now I have
(1) If I open a .m file, there is font lock. Thus the problem shouldn't be
binding between mma.el and .m files.
(2) If I insert a src block of C or python code in org mode, there is font
lock. Thus the problem shouldn't be org-src-fontify-natively (and I checked
it is indeed t).
This is why I am confused. Actually I don't badly need this feature. Just
it would be a little better to have things work properly.
Best,
Yi
On Thu, Jan 9, 2014 at 10:55 AM, Bastien <bzg@altern.org> wrote:
> Yi Wang <tririverwangyi@gmail.com> writes:
>
> > Yes, I already set this. But curiously the Mathematica code is still
> > not highlighted like other codes. I wonder there may be some
> > non-standard things inside mma.el (the Mathematica package file major
> > mode) then?
>
> I don't think so, you may just have to check that the mode defined in
> mma.el is automatically boundled with .m files -- which is not the case
> with a default Emacs installation, where .m files are open with
> objc-mode.
>
> --
> Bastien
>
[-- Attachment #2: Type: text/html, Size: 3089 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 11:03 ` Yi Wang
@ 2014-01-09 11:15 ` Bastien
2014-01-09 11:31 ` Yi Wang
0 siblings, 1 reply; 14+ messages in thread
From: Bastien @ 2014-01-09 11:15 UTC (permalink / raw)
To: Yi Wang; +Cc: emacs-orgmode
Yi Wang <tririverwangyi@gmail.com> writes:
> (1) If I open a .m file, there is font lock. Thus the problem
> shouldn't be binding between mma.el and .m files.
> (2) If I insert a src block of C or python code in org mode, there is
> font lock. Thus the problem shouldn't be org-src-fontify-natively
> (and I checked it is indeed t).
What happen if you C-c ' on a .m block?
--
Bastien
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 11:15 ` Bastien
@ 2014-01-09 11:31 ` Yi Wang
2014-01-09 11:49 ` Yi Wang
0 siblings, 1 reply; 14+ messages in thread
From: Yi Wang @ 2014-01-09 11:31 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 916 bytes --]
Ah, now the problem appears. It says "No such language mode:
mathematica-mode".
So there is a mismatch between the name mathematica (which I used as name
in org-babel extension) and the name mma-mode (which is provided by
mma.el).
However, as auto-mode-alist suggests (where there is ("\\.m\\'" .
mma-mode), and no entry with mathematica-mode), I still have no idea
why org-edit-special looks for mathematica-mode instead of mma-mode.
On Thu, Jan 9, 2014 at 11:15 AM, Bastien <bzg@altern.org> wrote:
> Yi Wang <tririverwangyi@gmail.com> writes:
>
> > (1) If I open a .m file, there is font lock. Thus the problem
> > shouldn't be binding between mma.el and .m files.
> > (2) If I insert a src block of C or python code in org mode, there is
> > font lock. Thus the problem shouldn't be org-src-fontify-natively
> > (and I checked it is indeed t).
>
> What happen if you C-c ' on a .m block?
>
> --
> Bastien
>
[-- Attachment #2: Type: text/html, Size: 1482 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Babel language support for Mathematica
2014-01-09 11:31 ` Yi Wang
@ 2014-01-09 11:49 ` Yi Wang
0 siblings, 0 replies; 14+ messages in thread
From: Yi Wang @ 2014-01-09 11:49 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1190 bytes --]
Now it worked. I added (add-to-list 'org-src-lang-modes '("mathematica" .
"mma")). After that font lock and edit source works. Thank @Bastien for the
help!
On Thu, Jan 9, 2014 at 11:31 AM, Yi Wang <tririverwangyi@gmail.com> wrote:
> Ah, now the problem appears. It says "No such language mode:
> mathematica-mode".
>
> So there is a mismatch between the name mathematica (which I used as name
> in org-babel extension) and the name mma-mode (which is provided by
> mma.el).
>
> However, as auto-mode-alist suggests (where there is ("\\.m\\'" .
> mma-mode), and no entry with mathematica-mode), I still have no idea
> why org-edit-special looks for mathematica-mode instead of mma-mode.
>
>
> On Thu, Jan 9, 2014 at 11:15 AM, Bastien <bzg@altern.org> wrote:
>
>> Yi Wang <tririverwangyi@gmail.com> writes:
>>
>> > (1) If I open a .m file, there is font lock. Thus the problem
>> > shouldn't be binding between mma.el and .m files.
>> > (2) If I insert a src block of C or python code in org mode, there is
>> > font lock. Thus the problem shouldn't be org-src-fontify-natively
>> > (and I checked it is indeed t).
>>
>> What happen if you C-c ' on a .m block?
>>
>> --
>> Bastien
>>
>
>
[-- Attachment #2: Type: text/html, Size: 2094 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-03-15 17:27 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-13 23:06 Babel language support for Mathematica Richard Stanton
2015-03-13 23:09 ` John Kitchin
2015-03-13 23:16 ` Yi Wang
2015-03-15 17:26 ` Richard Stanton
-- strict thread matches above, loose matches on Subject: below --
2014-01-09 3:46 Yi Wang
2014-01-09 10:28 ` Bastien
2014-01-09 10:34 ` Sebastien Vauban
2014-01-09 10:39 ` Bastien
2014-01-09 10:51 ` Yi Wang
2014-01-09 10:55 ` Bastien
2014-01-09 11:03 ` Yi Wang
2014-01-09 11:15 ` Bastien
2014-01-09 11:31 ` Yi Wang
2014-01-09 11:49 ` Yi Wang
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).