[swift-evolution] multi-line string literals.
gili.patrick.r at gili-labs.com
Fri Apr 22 14:54:51 CDT 2016
If we use a quoting structure similar to Perl6, then we future proof the grammar to accommodate regular expression literals (and multi-line regular expression literals) later. It also gives us the possibility for support for fine-grain control over escaping and interpolation.
> On Apr 22, 2016, at 2:48 PM, John Holdsworth <mac at johnholdsworth.com> wrote:
> As a long time user of Perl, for me the simplicity and lack of flexibility is the attraction
> when it comes to “”” syntax ;) That’s a lot of documentation for just specifying a string.
> Perl makes life difficult for itself due to it’s rather simplistic $var interpolation syntax
> which means you frequently want an un-interpolated string literal. The situation is
> far better in Swift with the more distinct \().
> Can you think of anything that couldn’t be readily expressed using Python style “””?
>> On 22 Apr 2016, at 19:12, Patrick Gili <gili.patrick.r at gili-labs.com> wrote:
>> This doesn't provide very much flexibility. I'd like to see something more like Perl6's quoting constructs: https://doc.perl6.org/language/quoting.
>>> On Apr 22, 2016, at 12:59 PM, John Holdsworth via swift-evolution <swift-evolution at swift.org> wrote:
>>> I’ve raised a speculative PR against the Swift Lexer to support multi-line string literals as was
>>> suggested in the very first week Swift was open sourced and before that in various radars.
>>> The approach taken is as simple as possible defining multi-line strings as being
>>> delimited by “”” instead of “ and thereafter able to contain new line characters.
>>> There has been some discussion of this before on swift-evolution:
>>> I’m trying to avoid more advanced features such as the handling of indenting which
>>> for me complicates something that if kept simple can be documented very easily.
>>> This change will require a evolution proposal so I’d like to take the pulse before I write it up.
>>> swift-evolution mailing list
>>> swift-evolution at swift.org
More information about the swift-evolution