4 ms·
Not really, a units systems needs to be able to combine units in a useful way, like if I typed this: radius = 15 [mm] area = pi*radius^3 force = 100 [N]
by heisenzombie 5y ago
Not really, a units systems needs to be able to combine units in a useful way, like if I typed this:
radius = 15 [mm]
area = pi*radius^3
force = 100 [N]
def will_i_blow_up(pressure [Pa]):
if(pressure > 1 [Gpa]):
return "Oh no it blew up"
will_i_blow_up( force/area )
should raise an error like "UnitsException, [N/mm^3] is not compatible with [Pa]". I could then look over my code and realize I should have written:
area = pi*radius^2
- cwhy 5y agoThis is rather a math-specific operation (type conversion on math operators), not the scope of general purpose language. A lot of dependent typed language can achieve this naturally and most languages with ADT can simulate this.
- dragonwriter 5y ago> This is rather a math-specific operation Math is a kind of a core use case for, really, almost any programming language, and is central to much of what computers are used for (as is hinted at in their name.) Though dealing with this aspect of units is less “math-specific” than central to the relation between math and real-world meaning, which is arguably even more important than abstract math in computing applications.
- yladiz 5y agoIf you have a language that supports tagged types and can overload operators, you can basically get there. I think a language like Idris and Julia (with the right packages) should be able to support this.