On Thu, Nov 23, 2017 at 12:21 PM Xiaodi Wu via swift-evolution < swift-evolution@swift.org> wrote:
> On Thu, Nov 23, 2017 at 2:14 PM, John Holdsworth via swift-evolution < > swift-evolution@swift.org> wrote: > >> 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. >> >> Since what passes for a single character changes by Unicode > revision--such as whenever they get around to enumerating the permitted > modifying attributes of the poop emoji--it is quite impossible (and Swift's > `Character` doesn't attempt to) to enforce single-characterness at compile > time. We should put any such notions to rest up front. > Unless I'm misunderstanding you here, I don't think that's true: writing something like `let c: Character = "ab"` is definitely a compile-time error: https://gist.github.com/allevato/ae267e2aaaa7939d6233d66a87b48fc0 To the original point though, I don't think Swift needs to use single quotes for single characters (or single scalars). Type inference already infers Characters from single-character String literals in contexts where a Character is expected, and the only time you need to be explicit is if you're trying to resolve an overload or initialize a variable by itself. Using single quotes to avoid writing "as Character" would feel like a waste. > On 23 Nov 2017, at 19:10, Brent Royal-Gordon <br...@architechies.com> >> wrote: >> >> On Nov 23, 2017, at 11:15 AM, Chris Lattner via swift-evolution < >> swift-evolution@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 >> >> >> >> _______________________________________________ >> swift-evolution mailing list >> swift-evolution@swift.org >> https://lists.swift.org/mailman/listinfo/swift-evolution >> >> _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution