Various Things in MetaPost (2019)
8 comments
·May 14, 2025Nzen
[flagged]
null
taeric
Strictly, MetaPost is not Knuth's. It is a derivative of Metafont, but is different. I keep meaning to learn to use it, and keep failing. So huge shout out for getting this posted!
That it is a language somewhat designed to solve linear equations is something I have yet to really wrap my head around. I want to say it is far far more descriptive of what you are drawing than something like SVG. That said, I'm not clear if I could justify that claim.
dhosek
Metapost was first released in 1989 by John Hobby in who was also effectively a coauthor of Metafont. I will say that the MF language is really kind of a delight. It has a clear influence from TeX in its macro construction, but the presence of first-class variables which TeX lacks makes it a more productive language overall.
I was a bit inspired by it when I took my one and only CS class as an undergrad. One of the few homework assignments I actually turned in was supposed to be a simple calculator with 26 assignable variables (A–Z). I thought that was boring, so I let variables be of any length and turned the calculator into a linear algebra solver so if you wrote, e.g.,
2X+3Y=14
X-Y=1
X
Y
it would give you the values for X and Y that met the constraints. I got a C on the assignment because the TA didn’t understand my code (written in CWEB and presented as a 20+ page source listing alongside the functioning executable).Nzen
I see that you are right. I skimmed the wikipedia article about MetaPost, and Knuth's name caught my eye more than "derived from".
Had to dive into MetaPost (and MetaFun) because of ConTeXt, and turns out it's the most closest thing to programming with prose language that I know. You can do pretty cool stuff without needing to dive in into complicated syntax - and do some pretty complicated stuff that at least would require a lot of mouse action with a graphics/vector editor.