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><br>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><br>Your DSL examples, if truly you’re using them often, suggest that these particular types should be extended to conform to ExpressibleByStringLiteral.<br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 15, 2017 at 11:16 David Hart via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br></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>
<br>
> On 15 Jun 2017, at 13:18, Gor Gyolchanyan <<a href="mailto:gor@gyolchanyan.com" target="_blank">gor@gyolchanyan.com</a>> wrote:<br>
><br>
> Funny you should mention DSLs:<br>
><br>
> let myQuery = sql """<br>
> SELECT id, name, date<br>
> FROM MyTable<br>
> WHERE id > 100<br>
> """<br>
><br>
> let myLayout = NSLayoutConstraint """<br>
> ...<br>
> """<br>
><br>
> let myPredicate = NSPredicate ""<br>
> ...<br>
> """<br>
><br>
>> On Jun 15, 2017, at 2:05 PM, David Hart <<a href="mailto:davidhart@fastmail.com" target="_blank">davidhart@fastmail.com</a>> wrote:<br>
>><br>
>> Personally, I have never felt that need.<br>
>><br>
>> 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>
>><br>
>> David.<br>
>><br>
>>> On 15 Jun 2017, at 11:54, Gor Gyolchanyan via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br>
>>><br>
>>> Good day, swift evolution community!<br>
>>><br>
>>> I'll just get right to it...<br>
>>><br>
>>> Did anyone else beside me wished this was a thing?<br>
>>><br>
>>> func parse(allowSomeBehavior: Bool = true, source: String) {<br>
>>> // ...<br>
>>> }<br>
>>><br>
>>> parse(allowSomeBehavior: false) """<br>
>>> This is a source string<br>
>>> that contains a number of lines of text<br>
>>> which is passed to the function `parse`<br>
>>> """<br>
>>><br>
>>> parse """<br>
>>> The exact same thing as above<br>
>>> except no other parameters are specified<br>
>>> """<br>
>>><br>
>>> _______________________________________________<br>
>>> swift-evolution mailing list<br>
>>> <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
>>> <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
>><br>
><br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div>