Which features are part of Mathematica, the software, and which features are Wolfram Language?
I would say there has to be a line discriminating the two somewhere. One could say that Mathematica, in addition to implementing WL, also includes:
- Libraries beyond standard libraries one has to explicitly
Get
(eg.Notation
). - Wolfram Knowlagebase with real data.
- Notebook specific features, which actually require a front-end to evaluate.
Why do I ask? I am writing a thesis, and I was wondering if I should say
Wolfram Language command
Flatten
andPartition
.
or
Wolfram Mathematica function
DepthFirstScan
.
If I would implement my own kernel, I would consider it a must to implement Table
, Flatten
... but I do not think an implementation of a language requires implementation of DepthFirstScan
with a narrow application.
I find these related:
- Is Mathematica an Implementation of the Wolfram Language?
- Is there an open source implementation of Mathematica-the-language?
- Is there the full Wolfram Language in Mathematica?
I have also browsed Notes for Programming Language Experts which was not specific. The Fast introduction for programmers: Built-in Functions claims
With 5,000 carefully integrated, built-in functions delivering computation and knowledge
which sounds a bit like everything implemented in MMA is WL.
Language Overview guide has an overview of all(?) syntax features, which perhaps are well on the language side of the discrimination. I also discovered WolframLanguageData
, which might share some light into the matter.
Graphics
to an image are not part of the language as they make use of the FE throughRasterize
. So it’s certainly a bit of a slippery thing to get a handle on. Still, the fact that a different front-end may be attached to a kernel makes me suggest that. $\endgroup$ImageIdentify
are part of the language and help realize S.W.'s vision for the language. $\endgroup$