Writing is more than this. Writers can arrange characters in 2d space to convey semantic relationships in equations or among words. You can have multiple degrees of emphasis and italics. You can get a sense of which parts of the equation or prose were written quickly and which were written slowly and carefully. Often it conveys a bit of personality. You can even include small drawings or sketches embedded within the text like Gallelo's illustration of Saturn's rings.
I get that we have to strip out this kind of nuance for technical reasons, but claiming that writing ought to be constrained to only what can be represented in plain text feels like claiming that painting should be constrained to only what can be represented in a bitmap.
On the computing side I see this as an editor problem. It’s not hard to conceptualize some multidimensional editor, but evidently it is hard to build one that will overtake the traditional text editors and their not particularly more advanced IDE cousins.
The closest such thing I’ve personally used was HyperCard. I think that for real progress in this area we’ll have to abandon the desire to keep editor and language separated.
A free, still maintained, alternative of that is smathhttps://en.smath.com/view/SMathStudio/summary, which also has a cloud option.
Of course it lacks many features, but plugins systems and overall architecture gives hope for possible extension to include many of the desired features.
Displaying equations is a different thing and it's supported by many tools. Maxima for example has wxMaxima: https://sourceforge.net/projects/wxmaxima/
I've also been working on a different UI for Maxima: https://peertube.functional.cafe/w/qnx1onPEx9LCtDP3wFqjWz
Would you know how Mathics compares to Maxima? Mathics' information is pretty sparse.
Of course, anything a human can do, ML can learn to do eventually. Which invites the question: is reading arbitrary hand-written math actually something any human can do?
There are at least two issues here, the first is that there isn't any agreed typographical standard that would make OCR more reliable, and second, there's no consistent or uniform way OCR algorithms are applied. To use your example, the OCR software ought to be able to recognize 'a dot-product dot from a dot intended as multiplication' from its useage context, and where ambiguities or doubts exist the item or aspect of the converted text should be flagged and dropped into an editor that would provide easy access to a choice of selectable options to choose from.
In the absence of accurate AI/ML, having ready access to a flexible mathematically-aware editor so as humans can easily make corrections seems an absolute necessity (especially so when OCRed text originates from source material that has not been typeset with OCR in mind).
It seems odd that mathematicians and programmers haven't yet agreed on standards and protocols around the OCR of mathematical formulae given that the problem has been with us since the outset OCR.
It's hrd, but it's not that hard. Character recognition is half the problem, the other half is context recognition - and there's abundant reference material available. I think we'll see 'copilot for math' aimed at AP/college level users within a few years.
It's not something that any human can do, bu something that any human can do with help. The first killer app will be 'I found this formula, please tell me how to read it.' Not in the sense of being a math tutor (although that may come, but simply in the sense of helping students to read it out loud, identify symbols like hats or bars and son so on. Most math books are terrible in this respect because they assume the student already knows all the notation or has someone who can lecture or tutor them about it. This massively inhibits solo learners who can't engage in the practice of 'teaching themselves' by verbally walking through formulae or discussing them fluently, unless they're lucky enough to have found a good reference for notation.
If you are not in the latter group, Wikipedia has OK summary articles on notation; and these two books offer variously concise and in-depth tools to built mathematical literacy:
https://www.amazon.com/Mathematical-Notation-Guide-Engineers...
https://www.amazon.com/Programmers-Introduction-Mathematics-...
I can't vouch for it, but it seems to be trying to do that.
Eg. when you enter a rotation matrix, it's obvious when you make a mistake when you use the graphical editor in Mathematica. It takes a lot more effort to check if ((1,0,0),(0, sin(2pit),cos(2pit)),(0, cos(2pit),-sin(2pit))) is correct.
This is what that looks like in wolfram alpha: https://www.wolframalpha.com/input?i=1%2B%28%28%28%28a-b%29%... It looks the same in Mathematica while your typing it in, which makes I extremely easy to work with, because even very complex equations look exactly like usual in Mathematica instead of ending up looking like lisp implementation of the Fibonacci sequence.
I wonder if Lisp can benefit from a similar 2d visualization sugar.
And super/sub scripts are in HTML as well.
Unicode is doing all the symbols these days
Param placement like n=0 under a summation, etc are a little more idiosyncratic
Try Marhematica and you’d change your mind. Yes every other tool does it poorly, but Mathematica does it right. It’s fantastic and you miss it everywhere else when you have to leave the Mathematica eco system.
There are many other ways of working with maths. Graphing calculators are very common, and some models even have proper algebra support. There are also the likes of Matlab, R, Python + numpy, and obviously the addition of Jupyter notebooks.
“Mathematica®-compatible syntax and functions” seems to be the main selling point of Mathics. I presume that this means that I can copy-paste Mathematica examples I find online or that are shared with my by someone else.
And of course this is not true.
I know mathematicians who work almost exclusively on a computer, and others who have an old dusty computer from 20 years ago in the corner of their office that they barely touch. Most are somewhere in between.
Since it in principle never makes mistakes (in practice there are of course bugs, but they are usually different in nature than human errors) it changes what is possible and most convenient. You no longer have to optimise for simplicity as heavily for example. On the other hand computers basically can’t deal with ambiguity, so the rules and statements have to be stated very simply and clearly.
EDIT: One example that comes to mind are indexes in functions. Usually they are just additional arguments that are different somehow from the “main” arguments, for example often being non-negative integers. For humans it makes it easier to think and operate about indices separately from the rest of arguments. But for the computer it’s all the same, as all arguments are treated just as argument, (of course it depends on the implementation etc) and there is no need to treat them separately, since every argument is “special”.
I believe computers can change the landscape of what’s best notation. This is an interesting, interdisciplinary topic to explore.
Let's be precise here: the parent hasn't used "must" here, just stated their observation. It's possible that many if not most mathematicians work this way, but it's not definitely the only one, and it doesn't mean it can't be changed. Actually, there is a lot of work being done on theorem provers, for example.
The natural medium for math is on whiteboards and paper. A computer algebra system like Mathematica is useful, but it augments what is traditionally a paper-and-pencil activity. It makes sense that the standard notation for math is something that is amenable to physical tools.
And it makes sense that the computer tools to assist mathematicians should more closely match this standard notation.
And yes, I enjoy writing in math notation because it's an immediately understandable notation compared to 500 character programming statement.
Sorry to be nitpicking, but it seems you conflate "actual maths" with "maths notation we're accustomed to (since the 19 century)".
As to what "actual maths" really is, it's an extremely interesting question that belongs to the philosophy of mathematics (mostly).
Amusingly, the one thing that the word "actual" does not permit is leading the conversation to that "extremely interesting question": the word "actual" forces an interlocutor to consider only those contexts in which the thing in question is a real, existing thing. "Actual" is a no-hypotheticals-or-philosophical-ponderings zone =)
In this case, that real thing would be modern maths notations. So this is kind of artificial nitpicking: English is not a zero-context language, you are still required and expected to understand the context words are used in based on understanding that they wouldn't make a lot of sense in other -even related- contexts.
Of course, if I'd been glib and said this:
> So... can I write, and see, maths?
Then the insinuation that maths and programming are mutually exclusive concepts should definitely lead to a philosophical discussion.
Sense 1) “‘Actual’ mathematics does not consist in notational embodiments”
‘Actual’ as in essence rather than appearance, territory rather than map. Implies platonic reality of an eternal ephemeral mathematics. Conceived of as beyond and beneath all the particulars of any given representation.
Sense 2) “‘Actual’ mathematics consists in notational embodiments”
‘Actual’ as in embodied. Material. That ‘actual’ mathematics is the set of mathematics which has been ‘actually’ done.
You describe the second sense as self evident but with mathematics in particular this is bound to cause trouble. The sense ‘actual as in essence’ is perfectly reasonable and has a particular affinity to a discussion of mathematics.
I find it hard to even write the description of the second sense without tying some linguistic knot. If ‘actual’ mathematics is its embodiments, what is the thing being embodied? Either the notation embodies nothing (what does it mean to describe the characteristics of a thing which doesn’t exist?) or if it does refer to something then according to the designation of embodied mathematics as ‘material’ then it embodies something which exists immaterially. So either mathematics describes the characteristics of a non existing thing, or a thing which exists, but exists immaterially. If ‘actual’ mathematics is the materially existing embodied form of a separate immaterial thing, what is that thing? So that ‘Actual mathematics’ is the embodiment of a separate immaterial thing called ‘not actual mathematics’. I’m not trying to make a watertight argument here just trying to outline the course of thought that your assertions inflame.
From another angle, what does it mean for something to ‘materially exist’ so that it can be considered ‘actual’. I think this concept so nebulous as to make impossible the patching up of all the holes a cursory investigation reveals.
Personally I think the distinction between the two is the root of trouble here. In the sense that anything exists, it exists according to mathematics. The essence of material existence, to the extent that it can be specified, is a structure of formal relational principles. Such formal structures are the domain of mathematics.
Of course ‘material existence’ is used and understood perfectly well in ordinary circumstances but when the topic at hand is “what counts as ‘actual’ mathematics?” it seems shaky ground to build a house.
What would that look like?
Do you have a hypothetical example?
As opposed to something like
def f(x,k) = Sum(k,math.inf, (math.pi*pow(sqrt(x),k))*sin(2*theta*(sqrt(...