Mathup is a an AsciiMath dialong which I have been working on (with long pauses) for the past 10 years. I just released 1.0 yesterday and am happy to share it with the Hacker New community.<p>The reason for writing another AsciiMath dialog back 10 years ago was that AsciiMath proper was tightly integrated into a single implementation (which was than integrated into MathJax) and not very convenient if you just wanted to output the MathML. Since than I have greatly expanded the dialong (more on that later), and browser support for MathML is now sufficient enough that I feel like the greater community could benefit from my project. In particular authors that want to include math in their document, but might not feel like writing (or even learning) LaTeX.<p>My main goal for the language design was to give author as much expressive power as possible within the confines of MathML while keeping expression very simple to read and type, in the spirit of AsciiMath proper.<p>The Mathup dialect deviates from AsciiMath in a few significant ways:<p>1. The most immediately obvious is the matrix notation: `[(a,s,c,i^2), (m,a,t,h)]` vs. [m,a,t; h,u,b].<p>2. Mathup uses whitespace to group unparenthesized sub-expressions together, while AsciiMath uses the the standard order of operations. `a+b / c+d` is `(a+b) / (c+d)` in Mathup but `a + (b/c) + d` in AsciiMath proper.<p>3. Mathup support tensor and index notation `(_p^r_e^f_i^x)A(^t,_e,_n,_s,^o,^r)`<p>4. Mathup gives authors control over which MathML token element to use using backticks or quotemarks and a special prefix "<mtext>", `<mi>`, \\`<mo>`, #`<mn>`, (2 or more spaces will give you an <mspace> in MathUp; <ms> is not supported by neither Mathup nor AsciiMath).<p>5. AsciiMath has `underset x "arg max"` while mathup has the `.^` and `._` operators for over and underscript: `` \\`arg max`_.x ``.<p>6. AsciiMath has `color(red)(x)` while mathup has `red x`<p>7. And more.