> On 9 Jun 2017, at 19:06, Max Moiseev via swift-evolution > <swift-evolution@swift.org> wrote: > > Sorry. I might be missing something. Why is this better than: > > let allEmployees = Set(managers.flatMap { $0.directReports } > > ?
For the same reasons managers.flatMap(calculateReports(_:)) Is better than: managers.flatMap { calculateReports($0) } Quite a few people enjoy this tearse, functional style. >> On Jun 7, 2017, at 10:35 AM, Adam Sharp via swift-evolution >> <swift-evolution@swift.org> wrote: >> >> The new smart key path feature is really lovely, and feels like a great >> addition to Swift. >> >> It seems like it might be straightforward to add overloads of `map` and >> `flatMap` to the standard library to make use of the new functionality: >> >> let managers = flatOrganisation.managers >> let allEmployees = Set(managers.flatMap(\.directReports)) >> let employeeNames = Set(allEmployees.map(\.name)) >> >> This feels like a really natural way of working with key paths in a >> functional style. It makes a lot of sense for collections, and possibly for >> Optional too (although as far as I can see optional chaining is more or less >> equivalent, and with more compact syntax). >> >> I’m hoping that this might be low-hanging fruit that could be considered for >> the Swift 4 release. I’d be happy to have a go at writing a proposal if >> there’s interest! >> >> –Adam >> >> _______________________________________________ >> 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