> "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."
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.
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.
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.
26 comments
[ 3.1 ms ] story [ 99.8 ms ] threadNot wrong with how the AI arms race is looking.
There's an additional prediction in there that's eerily accurate/Simpsons did it.
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.
https://futureboy.us/fsp/colorize.fsp?f=classtest.frink
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://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.
>Frink Applet
"Ah, neat, a programming language that has eluded my attention for quite some time."
[0] https://github.com/tiffany352/rink-rs/ [1] https://github.com/tiffany352/rink-rs/blob/master/core/defin... [2] https://rinkcalc.app/
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.
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 )
https://crates.io/crates/dimensioned