Frink is a programming language designed to make physical calculations simple
frinklang.org
frinklang.org
Not wrong with how the AI arms race is looking.
There's an additional prediction in there that's eerily accurate/Simpsons did it.
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 )
Frink - https://news.ycombinator.com/item?id=26645172 - March 2021 (7 comments)
The Frink Is Good, the Unit Is Evil - https://news.ycombinator.com/item?id=23799831 - July 2020 (41 comments)
Frink Programming Language - https://news.ycombinator.com/item?id=22523362 - March 2020 (7 comments)
Frink - https://news.ycombinator.com/item?id=21669195 - Nov 2019 (16 comments)
Frink data file for non-changing units (2016) - https://news.ycombinator.com/item?id=20322262 - July 2019 (2 comments)
Frink - https://news.ycombinator.com/item?id=17745726 - Aug 2018 (62 comments)
Frink – A practical calculating tool and programming language - https://news.ycombinator.com/item?id=12825366 - Oct 2016 (24 comments)
The Frink programming language - https://news.ycombinator.com/item?id=8893319 - Jan 2015 (11 comments)
Fart joke myth busted using Frink - https://news.ycombinator.com/item?id=1543428 - July 2010 (22 comments)
The Frink programming language - https://news.ycombinator.com/item?id=1541452 - July 2010 (10 comments)
Frink: a JVM language for doing unusual but precise conversions - https://news.ycombinator.com/item?id=292985 - Sept 2008 (1 comment)
https://github.com/avestura/FsFrink
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.
[0] https://github.com/tiffany352/rink-rs/ [1] https://github.com/tiffany352/rink-rs/blob/master/core/defin... [2] https://rinkcalc.app/
>Frink Applet
"Ah, neat, a programming language that has eluded my attention for quite some time."
https://www.gnu.org/software/emacs/manual/html_node/calc/Uni...
https://github.com/eternal-flame-AD/unitdc-rs
I ran across it because I wanted to know if dc, the old Unix rpn calculator, could do units.
Also, why are functions labelled 'class'? https://frinklang.org/fsp/colorize.fsp?f=ConvexHull.frink
You see, because in JS classes are… never mind
In Frink it defines a static method.