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.

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.

Your DSL examples, if truly you’re using them often, suggest that these
particular types should be extended to conform to
ExpressibleByStringLiteral.
On Thu, Jun 15, 2017 at 11:16 David Hart via swift-evolution <
[email protected]> wrote:

> 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.
>
> > On 15 Jun 2017, at 13:18, Gor Gyolchanyan <[email protected]> wrote:
> >
> > Funny you should mention DSLs:
> >
> > let myQuery = sql """
> >       SELECT id, name, date
> >       FROM MyTable
> >       WHERE id > 100
> >       """
> >
> > let myLayout = NSLayoutConstraint """
> >       ...
> >       """
> >
> > let myPredicate = NSPredicate ""
> >       ...
> >       """
> >
> >> On Jun 15, 2017, at 2:05 PM, David Hart <[email protected]> wrote:
> >>
> >> Personally, I have never felt that need.
> >>
> >> 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.
> >>
> >> David.
> >>
> >>> On 15 Jun 2017, at 11:54, Gor Gyolchanyan via swift-evolution <
> [email protected]> wrote:
> >>>
> >>> Good day, swift evolution community!
> >>>
> >>> I'll just get right to it...
> >>>
> >>> Did anyone else beside me wished this was a thing?
> >>>
> >>> func parse(allowSomeBehavior: Bool = true, source: String) {
> >>>     // ...
> >>> }
> >>>
> >>> parse(allowSomeBehavior: false) """
> >>>     This is a source string
> >>>     that contains a number of lines of text
> >>>     which is passed to the function `parse`
> >>>     """
> >>>
> >>> parse """
> >>>     The exact same thing as above
> >>>     except no other parameters are specified
> >>>     """
> >>>
> >>> _______________________________________________
> >>> swift-evolution mailing list
> >>> [email protected]
> >>> https://lists.swift.org/mailman/listinfo/swift-evolution
> >>
> >
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to