> Le 31 mai 2017 à 15:39, David Hart <[email protected]> a écrit : > >> >> On 31 May 2017, at 14:36, Gwendal Roué via swift-evolution >> <[email protected] <mailto:[email protected]>> wrote: >> >> Itai, >> >> (This email is not technical) >> >> I'm not claiming that SE-0166 should be able to address all archival >> formats. I've been talking about GRDB to show at least one format that >> SE-0166 doesn't cover well. And should SE-0166 be fixed to support SQL (in >> the GRDB fashion), this does not mean that other developers won't eventually >> fight with SE-0166 until they understand it does not fit their bill. >> >> But there's something very special with SE-0166: >> >> It's in the standard library, with all the backward-compatibility >> constraints that come with such a position. >> >> IT'S BLESSED WITH CODE GENERATION. > > One important future goal I hope we can address in future versions of Swift > is powerful macro/meta-programming features. I think like Sourcery > (https://github.com/krzysztofzablocki/Sourcery > <https://github.com/krzysztofzablocki/Sourcery>) but at compile-time, in the > language. Once we have that, I hope we can re-implement SE-0166’s code > generation using those meta-programming features into the Standard Library > and tear it out of the compiler. If we can achieve that, we will have a > strong toolbox for any third-library which have similar needs. > > PS: With meta-programming, we could also re-implement the automatic > Equatable/Hashable conformances. More magic in the compiler is usually a bad > thing I think.
Hi David, You're right, it's possible that SE-0166 eventually uses future macro-like features. When this happens, the code generation blessing will be available to all Swift users, and SE-0166 will no longer be the necessary underlying foundation for libraries that want to use its code generation features (regardless of whether they are right or wrong: library developers don't think like compiler developers). Gwendal
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
