I worked this week on a C/C++/Python library for message-passing IPC over sockets, which could be a basis for making the interfaces to external programs much faster (1000x) than the current pexpect solution. This is at https://github.com/vbraun/libXon. One of the sub-goals is to hook into Mathematica MathLink to directly exchange data.
Wolfram's shared library is dynamically linked at run-time, so you can use different Mathematica versions without recompiling. A side-effect is that we can compile and distribute a binary for the mathlink interface without having access to Mathematica. This now needs some testing to iron out any quirks. You can do so with the following commands: git clone git://github.com/vbraun/libXon.git cd libXon/ ./configure make ./src/xon_server_mathlink math where you might have to replace the "math" argument in the last command with the command that you use to start text-mode Mathematica. If you have access to Mathematica, please give it a try and let us know how it works. I have tested it on Mathematica 8 and 9 on Linux x86_64, which is all I have access to. Output should look like this: vbraun@mathematica:~/test/libXon$ ./src/xon_server_mathlink math Opening libML32i3.so failed, error is: opening the mathlink shared library failed: /usr/local/Wolfram/Mathematica/8.0/SystemFiles/Links/MathLink/DeveloperKit/Linux/CompilerAdditions/libML32i3.so: wrong ELF class: ELFCLASS32 Opening libML64i3.so succeeded, found the Mathematica mathlink shared library. MathLink version 3 - 23 packet(8, 0x22, In[1]:= ) packet(9, 0x22, Out[1]= ) packet(4, 0x22, 2) packet(8, 0x22, In[2]:= ) packet(9, 0x22, Out[2]= ) packet(4, 0x22, 3.141592653589793238462643383279502884197169399375105820974944592307816406286\ > 2089986280348253421170679821480865132823066470938446095505822317253594081\ > 2848111745028410270193852110555964462294895493038196442881097566593344612\ ... lots more digits > 065792295524988727584610126483699989225695968815920560010165525637568) packet(8, 0x22, In[3]:= ) vbraun@mathematica:~/test/libXon$ -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To post to this group, send email to sage-devel@googlegroups.com. To unsubscribe from this group, send email to sage-devel+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en.