[swift-evolution] [Pitch] Improve String Literals
Ben Rimmington
me at benrimmington.com
Tue May 16 15:47:52 CDT 2017
> On 16 May 2017, at 21:27, Tony Allevato <tony.allevato at gmail.com> wrote:
>
>> On Tue, May 16, 2017 at 1:25 PM David Hart <david at hartbit.com> wrote:
>> The problem I see is that + is an operator of the Standard Library and not part of the core language. I wouldn’t want + to sometimes to be a runtime operation and other times a compile-time operation. No, I really think we need strong language support here.
>
> Why not? Compile-time concatenation of string literals delimited by `+` sounds like a perfectly reasonable compiler optimization.
>
> Your argument would also state that the compiler should not do constant folding like turning `5 + 7` into `12`, would it not? What makes that situation different?
When does the compiler do constant folding?
Welcome to Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42). Type :help for assistance.
1> import Foundation
2> let x: NSNumber = 12
x: __NSCFNumber = Int64(12)
3> let y: NSNumber = 5 + 7
error: repl.swift:3:21: error: cannot convert value of type 'Int' to specified type 'NSNumber'
let y: NSNumber = 5 + 7
~~^~~
NSNumber( )
-- Ben
More information about the swift-evolution
mailing list