26 comments

[ 3.1 ms ] story [ 99.8 ms ] thread
> "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."

Not wrong with how the AI arms race is looking.

How does this compare to GNU units?
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.
It's fun, I'm a sucker for programming language posts.

Also, why are functions labelled 'class'? https://frinklang.org/fsp/colorize.fsp?f=ConvexHull.frink

A reverse JavaScript-ism?

You see, because in JS classes are… never mind

The interpreter seems to be written in Java, maybe that's just some abstractions leaking out.
Related:

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)

(comment deleted)
Does anyone know of a calculator/language that supports units like this but uses prefix (RPN) syntax?
Qalculate! has an RPN mode. As a research scientist, this is my default calculator (not in RPN mode though).
Frink looks pretty interesting, but it's not open source as far as I know.
"Ah, neat, a new programming language."

>Frink Applet

"Ah, neat, a programming language that has eluded my attention for quite some time."

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.

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 seems to me that Haskell would be a great language for such a thing, ensuring correctness at compile time through the type system, e.g. using the units package https://hackage.haskell.org/package/units https://github.com/goldfirere/units/tree/master/units

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 )

That's very interesting, but why is it a language and not a library?