Hi. I have yet to contribute code to sage, but I think I've found something easy enough for me to start with. I'd like to talk about how to proceed.
I found ticket #13892 <http://trac.sagemath.org/ticket/13892> and the apparent duplicate ticket #15318 <http://trac.sagemath.org/ticket/15318> which indicate that the Mathematica interface is fragile and has been broken for a couple of years. In the previous conversation about this in this group a couple of years ago it was suggested that the way forward is to use MathLink (now WSTP) to communicate with Mathematica. Licensing issues prohibit Sage from linking to or distributing the MathLink library. However, I cannot see any issue with shipping sage with source code that can link (at install time perhaps) to a library that already exists on an enduser's system for which the enduser has a legitimate license. In fact the discussion in 2012 essentially suggests this as a solution: write some code that uses MathLink, release it under a BSD license (say), and have Sage compile/link this code on install and use an expect interface as usual. I'd like to execute this strategy. I've written a minimalist textual interface to Mathematica using MathLink <https://github.com/rljacobson/MathLinkBridge>, not much more sophisticated than the example code by S.C.Sheridan bundled with Todd Gayley's MathLink tutorial. As far as I can tell, this should be sufficient. If it's not sufficient, let's discuss what additional functionality we need for a Sage interface to Mathematica. If it is sufficient, should I proceed to writing some code to allow Sage to use this interface to Mathematica? --Robert -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.