Re:Atlas, a hopefully better engineering IDE
by heisenzombie on Monday May 10, 2021 @11:41PM
(#27113975)
Not really, a units systems needs to be able to combine units in a useful way, like if I typed this:
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:
[ Parent
| on HN ]
If 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.
This 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.
Re:Atlas, a hopefully better engineering IDE
by dragonwriter on Tuesday May 11, 2021 @01:16AM
(#27114469)
> 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.