Ask HN: Is there any programming language with a Physics-like dimensional types?
I am curious if there is a programming language with a type system that would cater to types in Physics?
For example, I could say:
deftype distancd from double;
deftype time from double;
deftype speed from distance/time;
deftype acceleration from speed/time;
distance d = 10.5;
time t = 1.2;
speed s = d/t; // okay
acceleration a = d/t/t; // okay
acceleration b = d/t; // error
Is there any programming language type system that supports this idea? I think this is normally done in terms of 'units of measure'. Here's how F# implements this: https://docs.microsoft.com/en-us/dotnet/fsharp/language-refe... https://fsharpforfunandprofit.com/posts/units-of-measure/
Mathematica seems to have support for units: https://reference.wolfram.com/language/tutorial/SymbolicCalc...
frink
or this python library : https://github.com/katerina7479/python-units-of-measure