[HN Gopher] Frink is a programming language designed to make phy... ___________________________________________________________________ Frink is a programming language designed to make physical calculations simple Author : thunderbong Score : 91 points Date : 2023-11-03 06:36 UTC (16 hours ago) (HTM) web link (frinklang.org) (TXT) w3m dump (frinklang.org) | xeonmc wrote: | > _" 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. | wantoncl wrote: | https://youtu.be/8QWne13R_j0 | | There's an additional prediction in there that's eerily | accurate/Simpsons did it. | makeworld wrote: | How does this compare to GNU units? | eggy wrote: | 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. | juunpp wrote: | 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 | nielsbot wrote: | A reverse JavaScript-ism? | | You see, because in JS classes are... never mind | meepmorp wrote: | The interpreter seems to be written in Java, maybe that's just | some abstractions leaking out. | schiffern wrote: | > why are functions labelled 'class'? | | In Frink it defines a static method. | | https://futureboy.us/fsp/colorize.fsp?f=classtest.frink | dang wrote: | 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) | chc4 wrote: | There is also https://rinkcalc.app/ | https://github.com/tiffany352/rink-rs/ which is an alternative to | Frink written in Rust | pavon wrote: | Does anyone know of a calculator/language that supports units | like this but uses prefix (RPN) syntax? | abecedarius wrote: | GNU Calc, for Emacs, has both RPN and infix modes, iirc. (I | need to go actually try it.) | | https://www.gnu.org/software/emacs/manual/html_node/calc/Uni... | fsh wrote: | Qalculate! has an RPN mode. As a research scientist, this is my | default calculator (not in RPN mode though). | leni536 wrote: | orpie | ginko wrote: | Frink looks pretty interesting, but it's not open source as far | as I know. | smasher164 wrote: | Frink is great. If you're looking for a more general purpose | language with a units system, consider F#: | https://learn.microsoft.com/en-us/dotnet/fsharp/language-ref... | xxr wrote: | "Ah, neat, a new programming language." | | >Frink Applet | | "Ah, neat, a programming language that has eluded my attention | for quite some time." | krmbzds wrote: | There is also an open-source Rust implementation called rink-rs. | | [0] https://github.com/tiffany352/rink-rs/ [1] | https://github.com/tiffany352/rink-rs/blob/master/core/defin... | [2] https://rinkcalc.app/ | steego wrote: | 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. | tobias2014 wrote: | 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 ) | hardlianotion wrote: | That's very interesting, but why is it a language and not a | library? | layer8 wrote: | Syntax. ___________________________________________________________________ (page generated 2023-11-03 23:01 UTC)