Arithmetic is an underrated world-modeling technology
dynomight.substack.com
dynomight.substack.com
Long ago, as a primary school student, the move to metric, or Standard International units began. At first it was confusing, then it was all largely forgotten by many of my peers as everyone realized such a change was going to take a good long time(tm) to play out in general society.
Ok fine.
But for me, the most interesting thing happened to be the concept of units and how they help to solve problems!
And so it began:
Since that time, I have spent time learning about units and getting everyday references for them committed to memory and or what I can perceive to be how those units feel or look.
Today, my estimates using the trusty eyecrometer (intended) are generally useful right along with sounds and many other basics that happen in life. I can assign a unit to those and to some degree quantify experiences.
It has and will continue to be quite useful.
I strongly recommend just beginning to get familiar with units of all kinds and use them however you can, when you can.
They pay off nicely.
One of the hidden gems of Julia is that it performs multiplication by juxtaposition, so if you define a variable `m`, then `2m` becomes `2 * m`. That plus overloading and multiple dispatch enables a rather nice library, Unitful[1], which does a fairly good job there.
[1]: (Julia indexes by one) https://github.com/PainterQubits/Unitful.jl
Would have caught a fair number of my bonehead errors.
Later, moving to C and various scripting languages, I just sort of kept doing the same thing. Work units out old school, then comment whatever equations made sense in the program, and then do math, deciding on fixed or floating point depending...
I will have to give Julia a look. Seems intriguing.
Yes, it has implicit multiplication! :) It also offers exact rational fractions, transparent bigint conversion, and plus/minus intervals that automatically tracks error bars through all arithmetic operations.
Docs: https://futureboy.us/frinkdocs
Online REPL: https://futureboy.us/fsp/frink.fsp?fromVal=1+furlong+%2F+for...
[Unexpectedly humorous] units data file: https://futureboy.us/frinkdata/units.txt
Julia has the advantage that you can do things with it that aren't unitful calculations, a classic 80% solution. Frink has the advantage that, well... it's Frink. Really nothing else like it.
Were you thinking of a specific feature set in Julia that's lacking in Frink? Thanks.
You could use Frink for things that aren't its focus, of course. But few would want to.
But I would classify it as "algebra" instead of "arithmetic". Being fluent in manipulations like
60 km/h = 60 km/h * h/3600s * 1000m/km
is not a trivial modality of thought to unlock!
Mathematics of Big Data Spreadsheets, Databases, Matrices, and Graphs:
https://mitpress.mit.edu/9780262038393/mathematics-of-big-da...