JuliaInterop / MathLink.jl

Julia language interface for Mathematica/Wolfram Engine
Other
131 stars 32 forks source link

Package name: MathLink vs. WSTP? #1

Open stevengj opened 9 years ago

stevengj commented 9 years ago

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

simonbyrne commented 9 years ago

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 commented 9 years ago

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).

stevengj commented 9 years ago

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

simonbyrne commented 9 years ago

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

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

MikeInnes commented 9 years ago

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.

simonbyrne commented 7 years ago

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

simonbyrne commented 7 years ago

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

simonbyrne commented 5 years ago

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?

pablosanjose commented 5 years ago

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

MikeInnes commented 5 years ago

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.

simonbyrne commented 5 years ago

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.

MasonProtter commented 5 years ago

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.

JeffreySarnoff commented 5 years ago

+1 WolframEngine.jl

simonbyrne commented 5 years ago

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.

Roger-luo commented 5 years ago

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

jebej commented 4 years ago

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