[swift-evolution] Epic: Typesafe calculations
howard.lovatt at gmail.com
Tue Dec 29 02:11:07 CST 2015
+1 for the ability to unit check expressions. It is harder to do than it sounds because there are many equivalent units, for example force N = mass kg * acceleration m/s^2. Therefore N, kg m/s^2, m/s^2 kg, etc. are all equal.
Sent from my iPad
> On 28 Dec 2015, at 9:33 AM, Greg Titus via swift-evolution <swift-evolution at swift.org> wrote:
>> On Dec 27, 2015, at 2:56 AM, Tino Heth <2th at gmx.de> wrote:
>>> There’s some unfortunate extra boilerplate here, which could be better handled with newtype support in the language, but when compiled with optimizations the resulting code is nearly identical to using plain Ints.
>> Cool — have you checked the generated assembler for this conclusion? But I guess there is some knowledge on how to build an optimizing compiler in the core team ;-), so I'd expect little to no penalty (I guess the memory footprint of plain Ints is still better).
> Yes, I have, and actually, the memory footprint is no different! These are value-types that are exactly word-sized, and so get passed around in registers and stored inline in larger structs.
> - Greg
> swift-evolution mailing list
> swift-evolution at swift.org
More information about the swift-evolution