The units.txt file[0] for Frink is also a really good read. It has lots of useful editorializing about how different units were defined, and how some units were poorly or ambiguously defined.
I've had to implement unit math recently for CalcuLaTeX [0] and it's given me a lot of appreciation for how difficult it actually is. I've got it almost completely working with SI units but I haven't thought through fractional unit powers yet.
I really should've based it on something like GNU units.
That almost works verbatim in GNU units (TNT must be made lowercase, and natural_gas’ underscore must be removed, not including “Advanced Farting” which IIUC would require editing a definition file): http://ix.io/2UMx
So for basic conversions like that, Fink isn’t worth reaching outside of my package manager (and I don’t want to use a web interface, I want a light, portable CLI tool). What I do find interesting is the date/time math (https://futureboy.us/frinkdocs/#DateTimeHandling, that and maybe the text translation https://futureboy.us/frinkdocs/#TextTranslation). I can use GNU date for some basic stuff, eg.…
# 2001-08-12 04:00 UTC #
can become
date -d'2001-08-12 04:00 UTC'
…but IIUC date is too dumb to take something like `# 6:00 PM Bosnia #` and assume today, or do math like `#2002-12-25# - now[] -> days`. I’ve previously ended up resorting to fairly ugly shell like `units -t $(( $(date +%s) - $(date -d '2002-12-25' +%s) ))seconds days`. I feel like I’m missing some useful units or date feature … or maybe I should use qalculate or python or something? (IDK, I need to sleep now, sorry if this sleepy comment is dumb)
[0] https://frinklang.org/frinkdata/units.txt