3

This question from 2013 asks whether m.se is appropriate forum to discuss languages similar to WL.

One mentioned, mathics, doesn't seem to be around anymnore, or at least page is unresponsive.

I have a slightly different question. Is m.se appropriate to solicit user opinions for what features one might like to see in a de-novo symbolic open source language.

I'm specifically interested in a language that maximizes compatibility with WL but perhaps is based on a subset of the features.

A potential example of using a subset might include eg using Association structures to define option patterns or to organize in a common format the sometimes arbitrary format of arguments - think of various Graphics functions? (Kernighan once said associative arrays are a very powerful foundation of other structures)

The motivation for an open-source version should be obvious but basically in the 21st century, proprietary languages are fading. As a data scientist who's worked in large organizations and startups in healthcare and fintech, to get a proprietary platform in the door is a very hard sell. This is why Mathematica is mostly used by single-person consultancies.

| |
  • 5
    I do not believe it's the language that's the main selling point of Mathematica, but rather the huge number of built in functions it has, the huge database of transformation rules for simplification, integration, sums etc. and features for many disciplines (maths, finance, bioinformatics, geometry, etc.). The language just helps to glue these together in a nice way. I doubt open-source would achieve the above. But I would still like to see a language that has the functional constructs and shorthands of the WL, like @, /@, @@@, #, Fold, Nest etc. that could compile to a native binary or llvm. – flinty Aug 10 at 13:13
  • @flinty, Ideally an open source language that is compatible with WL in case one wants to use (and pay for) those features that you mention. However, it is the only mainstream language that is uses symbolic expression trees as arguments, which enables the powerful pattern matching / replacement. Also, for instance, the Associations built on trie data structures are strictly more powerful than those of other languages that use hash tables. I agree as far as JIT compile, thats that kind of feedback I'm looking for. – alancalvitti Aug 10 at 16:10
  • 2
    @alancalvitti I definitively appreciate your points and what you're asking, but your logic discards one important point. To even implement the most basic things in a potential OSS language that mimics Mathematica, one basically has to have substantial internal knowledge. It starts with pattern matching but also other details like scoping need to be exact. Otherwise, you end up with a language that looks like Mathematica, but your algorithms will potentially behave differently when running in a real Wolfram Kernel. We've seen this with e.g. Mathics where you then need to hack around issues... – halirutan Aug 11 at 5:47
  • 2
    ... because users kind of expect that a language that looks like Mathematica also behaves like it. The points that flinty made are also spot on. The strength of Mathematica is its foundation, especially the thousands of hours of mathematical expert-knowledge that went into it. – halirutan Aug 11 at 5:49
  • @halirutan, understood but in my work I use mainly core features, eg Association and Query, Graphics, statistics. I don't use most of the lang: DSolve, geolocation, 3D printing, AnatomyData. Also, 1000s of hours of knowledge at Wolfram is concentrated in ~800 employees (less, historically). An open source version could develop similar functionality in less time - for example, JupyterLab basically stole the front end, and already has developed some features like nbdev IDE that I requested via Wolfram support for years - but there are insufficient resources within the firm to develop. – alancalvitti Aug 13 at 0:55
  • 2
    But you do use functions f[x_, y_Integer], right? We have a popular post about how hard it is to decide which pattern is more specific. This is the very core of Mathematica. I've seen SymPy struggling for years to fix a bug which prevents to port Rubi to SymPy. And while an open-source approach is nice and all, a dictatorship in a corporation has its advantages: Design-choices and decisions are made centrally and everyone works towards one goal. – halirutan Aug 13 at 6:21
  • Good points re difficulty of pattern specificity (I know that post). In fact it's interesting how much focus is on algebraic data types (ADT) vs on patterns. As to the last point, unfortunately the one goal is oriented to the leader's computational hobbies at the expense of enterprise productivity tools, graph databases, streaming analytics, scalable cloud deployment, reactive pattern GUIs, connectivity to tools like Apache. For example, the WRI Data Science Platform (2016) is just marketing buzzword, and despite pattern matching, lots of bugs and missing features in Query/Dataset system. – alancalvitti Aug 14 at 12:20

You must log in to answer this question.

Browse other questions tagged .