[rant=on] UML is not traditional software engineering, it's a big business approach to software, often associated with waterfall design<https://en.wikipedia.org/wiki/Waterfall_model>_. Unfortunately it implies a lot of human overhead (useless meetings) even though software and its requirements are a living beast and may change week by week (say a website for a news company) or at least month by month.
What happens is that the software ends up organized like the company that developed it with all its benefits but also all its inefficiencies especially arbitrary [business rules](https://en.wikipedia.org/wiki/Business_rules_engine), access controls, validation workflows and bypasses that everyone knows (the CEO can do anything) but no one bothers to voice or specify. I.e. implicit social contracts are hard to translate into code. I think the essay "The Cathedral and the bazaar" is a must read for software engineering: [http://pld.cs.luc.edu/courses/412/mnotes/cathedral-bazaar.pdf](http://pld.cs.luc.edu/courses/412/mnotes/cathedral-bazaar.pdf). There is also a book. [rant=off] The easiest would be to wrap a C or C++ library, or maybe there are some tutorial for another language (Python) that you can follow with Nim. Regarding Mumps, it's seems like an ever hard language to search for than Go, Nim and Rust congrats! Anyway the only thing I found related to it besides the wikipedia page is a code pretifier: [https://github.com/google/code-prettify/blob/master/src/lang-mumps.js](https://github.com/google/code-prettify/blob/master/src/lang-mumps.js). It seems like it's standardized by ISO but if there is not even public "Hello World" it's hard to test against. It seems like it would be possible to write an interpreter for it so that could be a student project.