+1 for the proposal as a starting point

> Am 30.04.2016 um 04:37 schrieb Brent Royal-Gordon via swift-evolution 
> <swift-evolution@swift.org>:
> 
>> This would ultimately be my favorite approach. I do like the underscores, 
>> because they're unobtrusive and don't distract the eye, but I'm interested 
>> to see alternative suggestions. However, I understand this is not considered 
>> in scope for the current proposal. Is the intention to propose alternate 
>> delimiters for Swift 3 now or wait?
> 
> My goal is to get Swift 3 string literals to the minimum viable feature set 
> for tasks like scripting, templating, using regex libraries, and generating 
> code. In my mind, the features I discuss in the "Future directions for string 
> literals" section break down like this:
> 
> ABSOLUTELY NECESSARY—I definitely intend to propose these for Swift 3.
> 
> * Readable multiline strings
> * Ability to disable escapes

yep


> 
> REALLY NICE TO HAVE—We'll see how much the community wants them, and how much 
> the core team thinks it can handle.
> 
> * Alternate delimiters

What’s the use for these if we already can disable escapes (after implementing 
the absolutely necessary proposals)?


> * Ability to disable escapes except for interpolation (and perhaps to 
> selectively disable other escapes)

That would be really useful (I would tend to push it up into the absolutely 
necessary category :-)


> 
> REALLY NICE TO HAVE, BUT WE CAN'T—I would love to do these, but they're too 
> hard for Swift 3.
> 
> * Very long, minimally massaged strings (i.e. heredocs)

Useful, but IMO not very pressing IF the tools support pasting multi line 
strings and adding/removing the leading marker


> 
> CONVENIENCES—If we had infinite time...but we don't. And they might be dumb 
> anyway.
> 
> * Whitespace normalization
> * Embedded comments

Embedded comments would be *very* nice. Absolutely sufficient would be the 
ability to embed line comments and empty lines, i.e. something like

let foo = 
        "blabla
        "blabla

        // some comment here
        "blabla
        "blabla

        // another comment here
        "blabla
        "blabla
        
I’m not sure whether more complicated embedded comments (i.e. comments in the 
same line as a string line) would be worth the effort but might be doable with 
a modifier allowing them, e.g.
        c“blabla // some comment
This kind of embedding is certainly out of scope for Swift 3 and possibly Swift 
4, but I’m hoping that line comments and empty lines might be even possible in 
Swift 3 :-)

-Thorsten


> * Localization
> * Default modifier control
> 
> NOT INVENTED YET—Requires huge supporting designs we just don't have.
> 
> * Regex literals
> * User-specified modifiers
> 
> I think we should definitely propose the items in "Absolutely Necessary" and 
> consider proposing the ones in "Really Nice To Have" for Swift 3. I think we 
> should definitely do the "Really Nice To Have, But We Can't" item in Swift 4. 
> I think we should revisit and consider the others in Swift 4 and beyond.
> 
> * * *
> 
> I have intentionally described these features very broadly. For instance, I 
> said "alternate delimiters", not "the `_` modifier". The specific designs I 
> sketched in the proposal are merely examples of solutions to that class of 
> problem. Here are a whole slew of other designs just for alternate delimiters:
> 
> * Use a different identifier-but-not-capitalizable character, like `$`.
> * Use a different single-character ASCII delimiter, like `'`.
> * Use a different multi-character delimiter, like `"""`.
> * Use a different Unicode delimiter, like smart quotes (`“foo ”`) or French 
> quotes (`«foo»`) or Japanese quotes (`⸢foo⸥`).
> * Permit arbitrary delimiters bounded by some specific, known character, like 
> (just making this up) `'~~~~~'`.
> 
> That's just off the top of my head—there are probably a hundred more of 
> these. What is presented in the "Future directions for string literals" 
> section is a series of *example* solutions to illustrate the problems that 
> need solving, not necessarily the exact thing we must write a proposal for in 
> a few months or years. It's a sketch, not a roadmap.
> 
> -- 
> Brent Royal-Gordon
> Architechies
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to