Nice, thanks :) FWIW, there are at least some ASCII-specific optimizations internally in String (this was a question asked and not answered in the prior thread).
On Tue, Aug 16, 2016 at 11:21 PM, Jacob Bandes-Storch via swift-evolution < swift-evolution@swift.org> wrote: > Here's a little prior discussion about ASCIIString: https://lists. > swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/002138.html > > Jacob > > On Sun, Aug 14, 2016 at 3:41 PM, Michael Savich via swift-evolution < > swift-evolution@swift.org> wrote: > >> Back in Swift 1.0, subscripting a String was easy, you could just use >> subscripting in a very Python like way. But now, things are a bit more >> complicated. I recognize why we need syntax like >> str.startIndex.advancedBy(x) but it has its downsides. Namely, it makes >> things hard on beginners. If one of Swift's goals is to make it a great >> first language, this syntax fights that. Imagine having to explain Unicode >> and character size to an 8 year old. This is doubly problematic because >> String manipulation is one of the first things new coders might want to do. >> >> What about having an InternalString subclass that only supports one >> encoding, allowing it to be subscripted with Ints? The idea is that an >> InternalString is for Strings that are more or less hard coded into the >> app. Dictionary keys, enum raw values, that kind of stuff. This also has >> the added benefit of forcing the programmer to think about what the String >> is being used for. Is it user facing? Or is it just for internal use? And >> of course, it makes code dealing with String manipulation much more concise >> and readable. >> >> It follows that something like this would need to be entered as a literal >> to make it as easy as using String. One way would be to make all String >> literals InternalStrings, but that sounds far too drastic. Maybe appending >> an exclamation point like "this"! Or even just wrapping the whole thing in >> exclamation marks like !"this"! Of course, we could go old school and write >> it like @"this" …That last one is a joke. >> >> I'll be the first to admit I'm way in over my head here, so I'm very open >> to suggestions and criticism. Thanks! >> >> Sent from my iPad >> >> _______________________________________________ >> 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