> 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

Reply via email to