This just popped up on HN and may be relevant to this discussion.<div><br></div><div><br><a href="http://www.home.hs-karlsruhe.de/~fado0001/2015-32C3/paper-onecolumn-colour.pdf">http://www.home.hs-karlsruhe.de/~fado0001/2015-32C3/paper-onecolumn-colour.pdf</a></div><div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Tue, Dec 29, 2015, 16:11 Howard Lovatt via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+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.<br>
<br>
Sent from my iPad<br>
<br>
> On 28 Dec 2015, at 9:33 AM, Greg Titus via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br>
><br>
><br>
>> On Dec 27, 2015, at 2:56 AM, Tino Heth <<a href="mailto:2th@gmx.de" target="_blank">2th@gmx.de</a>> wrote:<br>
>><br>
>><br>
>>> 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.<br>
>><br>
>> 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).<br>
><br>
> 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.<br>
><br>
> - Greg<br>
> _______________________________________________<br>
> swift-evolution mailing list<br>
> <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
> <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div></div>