I regret that I didn't send my two proposals much earlier, but I was operating 
under the assumption that Swift 4 was not going to include changes such as 
this, so I thought I should wait and was surprised to stumble on this change. 
(I wonder if anyone else is in the same boat.)

If people are not sure the existing commit is optimal, certainly it would make 
sense for it to be backed out sooner rather than later.

Btw I don't mean for the close quote delimiter to be the only thing on the 
line, as one might expect by analogy with shell syntax.

Dave

> On May 25, 2017, at 11:24 PM, Robert Widmann <rwidm...@apple.com> wrote:
> 
> A quick question since we’ve already accepted this proposal and have an 
> implementation in-tree: do you expect this breaking change to be accepted for 
> Swift 4, or do you expect this change to break everybody once they’ve already 
> migrated to the triple-quoted string form in a future release?
> 
> ~Robert Widmann
> 
>> On May 25, 2017, at 11:02 PM, Dave Yost via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> 
>> 
>> Beauty is a top-three goal of Swift, so a proposal that is not beautiful 
>> should be rethought until it is.
>> 
>> 1. """ is ugly.
>> 
>> 2. Choosing syntax so as to pander to hacks in a few existing tools is the 
>> road to Ugly.
>> 
>> 3. It’s inelegant syntax design for start and end delimiters to be 
>> identical, as for example ASCII quote marks are.[1]
>> 
>> 4. Mirror image start and end delimiters are preferred, for example { and 
>> }.[1]
>> 
>> 5. Escaping is ugly and preferably should not be necessary or even allowed.
>> 
>> Therefore, I propose, by example:
>> 
>>   let foo = 
>>     /"xx
>>     The indent of /"
>>         dictates indentation and must match 
>>     all indents through the "/
>>     "/xx
>> 
>> where an optional arbitrary identifier, for example “xx”, can be appended to 
>> both the open and the close quote delimiters to avoid the need for escaping 
>> the close quote delimiter. The identifier has no other significance in the 
>> program.
>> 
>> I further propose that /' and '/ should be used to delimit a string that is 
>> interpreted literally, including newlines except for the newline on the last 
>> line of the string.
>> 
>> In future, consideration should be given to the idea of following the /" 
>> delimiter by a set of space-separated flags to determine treatment of 
>> newlines, the escape character (so it doesn’t have to be backslash), use of 
>> interpolated strings, the use of escape characters, etc.
>> 
>> Dave
>> 
>> (I intended all single and double quotes in this message to be ASCII, not 
>> curly. If any are curly, then blame the macOS Mail app.)
>> 
>> [1].  I think Swift should allow delimiting strings with “curly” quotes, and 
>> they should nest. See 3, 4, 5 above.
>> 
>> _______________________________________________
>> 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