[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)