Hacker News new | ask | show | jobs
by senekerim 3804 days ago
Math notation is actually pretty great and is a result of multiple iterations. Earlier forms were much worse. S-Expressions by themselves are obviously not enough, you have to introduce at least first-order logic notation, set notation, etc. It's not obvious that the end result will be anywhere near as readable as the current notation.
1 comments

Current math notation may be the result of multiple iterations, but they all took place before the widespread availability of computers. Current math notation is optimized for hand-writing and manual rather than automated proof checking. It may be great for paper and pencil, but times have changed.

And BTW, the notation actually sucks for paper-and-pencil too because of its ambiguity. See:

http://mitpress.mit.edu/sites/default/files/titles/content/s...

When did Scheme get this "curried define": (define (((f x) y) z) blah)?

I'm sure that isn't in R5RS and I don't see it in R7RS. I found a description in the Racket manual.

In any case, I like how they are making the context explicit. In the regular math notation for the physics, you just say something like "the Lagrangian for the free particle" and then just spew out something with free variables sticking out of it, like velocity "v". The hacker in me of course asks, how the heck does that work if I have two particles? There is only one v? When we have two, we hand-wave in some subscripts: v1, v2, ... This system makes it explicit: it's the Lagrangian for a particle. So the particle appears as a parameter, and that parameter has accessors on it to retrieve its properties: velocity of the particle, etc.

It's definitely not perfect, but it's much better than any alternatives I have seen. Would love to take a look if there are any good proposals based on S-Expressions or other computer-era notations.
But I still do all of my math on pen and paper