[swift-evolution] [Pitch] Raw mode string literals

John Holdsworth mac at johnholdsworth.com
Thu Nov 23 14:14:25 CST 2017


I’m beginning to wish I hadn’t tied this proposal so strongly to regular expressions!
It is indeed the wrong motivation. Even as a ten year veteran of Perl development
I’m not sure we want to bake it into the language quite so tightly (isn’t a part of
Foundation?) What would /regex/ represent - an instance of NSRegularExpression?
Would the flags be pattern options or matching options? This is a whole other debate.

For me the focus of raw strings was a sort of super-literal literal which has many
applications. The r”literal” syntax has a precedent in Python and there seemed
to be a syntactic gap that could be occupied but perhaps there are other alternatives 
we could discuss. It would be a shame to see ‘quoted strings’ be used for this however.
I still live in hope one day it will be used for single character UNICODE values.

John

> On 23 Nov 2017, at 19:10, Brent Royal-Gordon <brent at architechies.com> wrote:
> 
> On Nov 23, 2017, at 11:15 AM, Chris Lattner via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> 
>> Until we figure out that path forward for regex’s, I think they aren’t the right motivation for this proposal.
> 
> 1. Even in our shining pattern matching future—a future which I, for one, am eager to hasten—we will still need to interoperate with NSRegularExpression and other Perl 5-compatible regex engines.
> 
> 2. Code generation.
> 
> 3. Windows-style paths. 
> 
> 4. Doesn’t LaTeX use backslashes?
> 
> 5. Etc. 
> 
> I think the Motivation section undersells this proposal. Regexes are a strong short-run use case, but in the long run, we’ll need this for other things. In both cases, though, raw literals will be a useful addition to the language, improving the clarity of Swift code much like multiline literals already have. 
> 
> -- 
> Brent Royal-Gordon
> Sent from my iPhone
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171123/224bba88/attachment.html>


More information about the swift-evolution mailing list