<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I agree that nested braces in parentheses are much more ugly then nested quotes in parentheses.<div class="">About ExressibleByStringLiteral: This is a completely orthogonal case. The issue is passing these string literals to functions.</div><div class="">The passed literal doesn't have to be string, it can be any other ExpressibleByStringLiteral.</div><div class="">This is not something that I'd like to actively push for because this really is not that big of a deal, but some case that happened to me a couple of times and given that the exact same behavior is already implemented with closures, I though extending it to encompass string literal would be a cheap way of making another popular use case easier on the eye.</div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jun 15, 2017, at 7:49 PM, Xiaodi Wu <<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Agree with David on all points. Neat idea, but not convinced it’s a win in terms of tidying up code vs. increased burden of new grammar rule.<br class=""><br class="">Agree also that it’s a subjective opinion. For me, ({[]}) nesting is clunky both to read and write, but (“”) just doesn’t have the same issues even with multiline syntax–the symbols are just so unlike each other.<br class=""><br class="">Your DSL examples, if truly you’re using them often, suggest that these particular types should be extended to conform to ExpressibleByStringLiteral.<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Jun 15, 2017 at 11:16 David Hart via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I totally see what you are driving at. But I just see less value in it that with trailing closure. But it’s very personal.<br class="">
<br class="">
> On 15 Jun 2017, at 13:18, Gor Gyolchanyan <<a href="mailto:gor@gyolchanyan.com" target="_blank" class="">gor@gyolchanyan.com</a>> wrote:<br class="">
><br class="">
> Funny you should mention DSLs:<br class="">
><br class="">
> let myQuery = sql """<br class="">
> SELECT id, name, date<br class="">
> FROM MyTable<br class="">
> WHERE id > 100<br class="">
> """<br class="">
><br class="">
> let myLayout = NSLayoutConstraint """<br class="">
> ...<br class="">
> """<br class="">
><br class="">
> let myPredicate = NSPredicate ""<br class="">
> ...<br class="">
> """<br class="">
><br class="">
>> On Jun 15, 2017, at 2:05 PM, David Hart <<a href="mailto:davidhart@fastmail.com" target="_blank" class="">davidhart@fastmail.com</a>> wrote:<br class="">
>><br class="">
>> Personally, I have never felt that need.<br class="">
>><br class="">
>> Trailing closures fill of need of making Swift a good candidate for building DSLs, where they make the function calls look more like first-class operations. But I don’t think that trailing strings would be as useful.<br class="">
>><br class="">
>> David.<br class="">
>><br class="">
>>> On 15 Jun 2017, at 11:54, Gor Gyolchanyan via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>> wrote:<br class="">
>>><br class="">
>>> Good day, swift evolution community!<br class="">
>>><br class="">
>>> I'll just get right to it...<br class="">
>>><br class="">
>>> Did anyone else beside me wished this was a thing?<br class="">
>>><br class="">
>>> func parse(allowSomeBehavior: Bool = true, source: String) {<br class="">
>>> // ...<br class="">
>>> }<br class="">
>>><br class="">
>>> parse(allowSomeBehavior: false) """<br class="">
>>> This is a source string<br class="">
>>> that contains a number of lines of text<br class="">
>>> which is passed to the function `parse`<br class="">
>>> """<br class="">
>>><br class="">
>>> parse """<br class="">
>>> The exact same thing as above<br class="">
>>> except no other parameters are specified<br class="">
>>> """<br class="">
>>><br class="">
>>> _______________________________________________<br class="">
>>> swift-evolution mailing list<br class="">
>>> <a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
>>> <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
>><br class="">
><br class="">
<br class="">
_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></body></html>