[swift-evolution] [Pitch] Improve String Literals

Tony Allevato tony.allevato at gmail.com
Tue May 16 15:20:15 CDT 2017


I agree with Ben—this is something that should just work for all string
literals, and those protocols shouldn't be reasons to introduce a different
syntax. It would be even more confusing for users to have to understand
under which contexts they could use either `+` or juxtaposition and under
which contexts they could *only* use juxtaposition.


On Tue, May 16, 2017 at 12:28 PM Ben Rimmington via swift-evolution <
swift-evolution at swift.org> wrote:

>
> > On 16 May 2017, at 16:36, Gwendal Roué wrote:
> >
> >> Le 16 mai 2017 à 16:58, Tony Allevato <tony.allevato at gmail.com> a
> écrit :
> >>
> >> Regarding the C/Objective-C syntax, what would be the advantages over
> concatenating the strings with `+`?
> >
> > The support for ExpressibleByStringLiteral and
> ExpressibleByStringInterpolation protocols.
>
> Would it be possible to have compile-time concatenation of *all* string
> literals using the `+` operator?
>
>         // Written as:
>         @available(*, unavailable, message: "Long strings can be bro" +
>                                             "ken into two or more pieces.")
>         // Compiled as:
>         @available(*, unavailable, message: "Long strings can be broken
> into two or more pieces.")
>
> This could also be used with types such as StaticString, which don't have
> their own `+` operator.
>
>         // Written as:
>         let s: StaticString = "Long strings can be bro" +
>                               "ken into two or more pieces."
>         // Compiled as:
>         let s: StaticString = "Long strings can be broken into two or more
> pieces."
>
> -- Ben
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170516/7927c604/attachment.html>


More information about the swift-evolution mailing list