> "I predict that within 100 years, computers will be twice as powerful, ten thousand times larger, and so expensive that only the five richest kings of Europe will own them."
It even has nice features like: "The laws of nature have dimensions, and they hold true regardless of the units used. For example, the gravitational force between two bodies is (gravitational constant) * (mass 1) * (mass 2) / (distance between body 1 and 2)^2, regardless of whether the distance is given in meters or feet or centimeters. In other words, every law of nature is unit-polymorphic."
"The units package supports unit-polymorphic programs ..."
If on the other hand you just want a small calculator with units (which actually does also come with a library), there's qalculate ( https://news.ycombinator.com/item?id=37037900 )
F# is in the same category of statically typed functional languages, and it has units of measure: https://learn.microsoft.com/en-us/dotnet/fsharp/language-ref.... I'm not sure whether it has that level of unit polymorphism, although you can make functions generic over any unit of measure.
I came across this repo where someone actually took the time to convert Frink's unit data to F# (which also supports units of measure) and I got to wondering if Frink's inspired it.
BTW, I'd love to see more mainstream languages consider features like units of measure. I understand the tech-debt it would likely-incur, but I think it would be a fun mental exercise to really go through the different languages and ask how one might add units of measure.
For example, in F#, the units are erased when they're compiled, so there is no runtime support for units. But I could imagine a dynamic/weaker typed language implementing it with runtime support where units are implemented like atomic symbols that are paired with numbers. Maybe each compound unit could be represented with a unique symbol that's created at runtime.
Personally, I don't think languages explore enough with interesting literals. Combining units with non-numeric types like strings might make interpolation a little more interesting.
Much better and and easier to juggle units. I program in Frink, use the one-liner as a desktop calculator, and along with SMath Studio, Excel and I have no need for much else to do my technical manual calculations for engineering. Of course this aside from heavy hitting multiphysics programming and FEAs. Alan has helped me a few times. I've donated given how long and how helpful Frink has been to me on a daily basis.
Not wrong with how the AI arms race is looking.