[Charlie, this is more of a reply to the thread than to your message in particular.]
There is absolutely no good reason to have a “word size” floating-point type. We happen to have one on Apple systems (CGFloat), but that should be viewed as a historical curiosity, not as guidance that it’s a reasonable thing to do. If we were starting from scratch today, we would not have such a type. 1. Having explicit `Float32`, `Float64`, [`Float16`, `Float128`, … ] type names, by analogy to integer types, is great. 2. Making `Float` and `Double` unavailable in favor of these replacements would be a lot of churn for relatively little value, but it’s not a bad idea if you ignore the one-time pain of conversion. `Float32` and `Float64` are discoverable enough that this would be OK, IMO. 3.a. Making `Float` a “word size” type is bonkers. The last thing we want to do is create another type with the same difficulties as `CGFloat`. 3.b. Making `Float` be “the widest HW-supported type” is less bonkers, but still results in gratuitous cross-platform differences and very little real benefit. We’d also need to be careful about how we defined it, since we would *not* want it to be `Float80` on x86_64 (for performance reasons). 3.c. Making `Float` be an alias of `Float64` would just confuse people coming from a C-family language (as commonly implemented). – Steve > On May 24, 2016, at 12:52 AM, Charlie Monroe via swift-evolution > <[email protected]> wrote: > > In UIKit/Cocoa, there's CGFloat that does pretty much what you're asking (and > it's pain working with it in Swift, since it's Double on 64-bit computers, > while Swift defaults to Float, so you need casting all the time)... And I > think the default behavior of Swift should be similar. > > I wouldn't change the type names since Double still is "double precision", > I'd just prefer changed default behavior... > > Charlie > >> On May 24, 2016, at 5:39 AM, David Sweeris via swift-evolution >> <[email protected] <mailto:[email protected]>> wrote: >> >> >>> On May 23, 2016, at 9:55 PM, Xiaodi Wu <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> On Mon, May 23, 2016 at 9:40 PM, David Sweeris <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Have we (meaning the list in general, not you & me in particular) had this >>> conversation before? This feels familiar... >>> >>> It does, doesn't it? I've been reading this list for too long. >> I just checked, and we have! In this very thread! I didn’t realize it was >> started almost 6 months ago… >> >> Out of curiosity, are there plans for Swift's IntegerLiteralType & >> FloatingPointLiteralType when CPUs eventually support 128-bit ints & floats? >> Will they still evaluate to “Int64" and “Double” by default, or will they >> become the bigger types? >> >> - Dave Sweeris >> _______________________________________________ >> swift-evolution mailing list >> [email protected] <mailto:[email protected]> >> https://lists.swift.org/mailman/listinfo/swift-evolution > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
