MathLink.jl icon indicating copy to clipboard operation
MathLink.jl copied to clipboard

Package name: MathLink vs. WSTP?

Open stevengj opened this issue 8 years ago • 16 comments

MathLink seems to be deprecated nowadays compared to the WSTP interface. Do you have any comments on why you chose MathLink over WSTP?

cc: @simonbyrne, @rpestourie

stevengj avatar Aug 24 '15 14:08 stevengj

I think this package predates WSTP (WSTP is the updated & renamed MathLink for Mathematica 10).

Honestly, it probably makes sense to create a new package: I'll contribute where I can, but I'm leaving UCL soon, so will lose access to the institutional site licence (and I don't use it enough to justify purchasing a personal copy).

simonbyrne avatar Aug 24 '15 15:08 simonbyrne

Actually, from what I can tell, MathLink and WSTP are identical, other than the prefixes used. So it probably makes sense to keep using MathLink in order to support older versions (or make prefix flexible).

simonbyrne avatar Aug 24 '15 15:08 simonbyrne

That's good to hear; it would be a pain to do something new from scratch. I wonder why they renamed it?

stevengj avatar Aug 24 '15 15:08 stevengj

I assume it was so that it has the word "Wolfram" in it.

(they also renamed the Mathematica language to "Wolfram Language" in v10)

simonbyrne avatar Aug 24 '15 15:08 simonbyrne

Yeah, WSTP wasn't around at all when I wrote this and I'd bet money that it's just a trivial rename. Presumably they'll keep supporting the ML* functions as aliases in which case it's a lot easier (especially for the sake of backwards compatibility) to keep things as they are.

MikeInnes avatar Aug 26 '15 16:08 MikeInnes

I think we can close this, at least until the MathLink interface is deprecated.

simonbyrne avatar Oct 07 '16 10:10 simonbyrne

Also, for what its worth, WSTP isn't included on the raspberry pi, whereas mathlink is.

simonbyrne avatar Oct 07 '16 14:10 simonbyrne

It should be possible to make it work with either WSTP or MathLink: the easiest option might be to check which symbols exist in the dynamic library.

The other question is whether we should rename the package: one candidate is WSTP.jl, however The Julia package naming guidelines suggest avoiding acronyms. Another option is WolframEngine.jl?

simonbyrne avatar Sep 11 '19 21:09 simonbyrne

-1 to WSTP.jl (discoverability would suffer greatly, I think) +1 to WolframEngine.jl

pablosanjose avatar Sep 12 '19 09:09 pablosanjose

Both MathLink and WSTP refer to the implementation rather than the purpose of the package (which made some sense when Mathematica.jl existed as a separate package on top of this, but no longer).

I'd prefer Mathematica.jl; that's the more recognisable name, and people can figure out that it also works with Wolfram Engine, even if that's not technically mathematica any more.

MikeInnes avatar Sep 12 '19 10:09 MikeInnes

At the moment, I am still planning on keeping this package as minimal as possible: link handling, representation of WExprs, put/get for Julia numeric types, basic evaluation, etc.

simonbyrne avatar Sep 16 '19 16:09 simonbyrne

What if we called it something like WolframLink.jl? I think that'd most accurately reflect what it is without having to use an undiscoverable name like WSTP.jl?

Mathematica.jl is perhaps good enough, but I don't think this gives access to any of the features that actually differentiates Mathematica from the Wolfram Engine.

MasonProtter avatar Sep 25 '19 22:09 MasonProtter

+1 WolframEngine.jl

JeffreySarnoff avatar Sep 25 '19 22:09 JeffreySarnoff

I think I'll register as MathLink.jl for the time being. We can see how the package evolves in terms of functionality, and perhaps rename it then.

simonbyrne avatar Sep 25 '19 23:09 simonbyrne

It looks like an FFI to mma, what about MathematicaCall.jl ?

Roger-luo avatar Sep 26 '19 00:09 Roger-luo

I think WolframEngine makes more sense at this point, as it is free and so is what most people will be using.

jebej avatar May 19 '20 17:05 jebej