Changes to Swift syntax aren't really in scope for the Swift 4 Stage 1 evolution process. See this list: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html
On Sat, Aug 6, 2016 at 2:37 AM, Darren Mo via swift-evolution < [email protected]> wrote: > Consider code like > > guard !parameters.contains(where: { !validValueRange.contains($0) }) else … > > Oftentimes I need to write negation expressions like this. The location of > the exclamation marks really bugs me when writing and reading this code. > The natural English ordering would be something like > > “Make sure parameters does not contain an element such that > validValueRange does not contain this element.” > > But the programming-language-imposed ordering is > > “Make sure NOT parameters contains an element such that NOT > validValueRange contains this element.” > > See how much harder the programming language version is to understand? > Most of the time I write the positive version first because it comes out so > naturally, and then I add the exclamation marks afterwards. It really > burdens my mind every time I need to write code like this. Let’s come up > with a solution to address this! > > Here’s my zero-thought solution: > > guard parameters.!contains(where: { validValueRange.!contains($0) }) else … > > I’d love to hear alternate solutions and whether other people are having > this problem too! > > Darren > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
