<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><br class=""><blockquote type="cite" class=""><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">If you read my reply to Daniel Vollmer, you’ll find that we’re thinking about the exact same thing. </span></div></blockquote>Good to hear — read that post later, but I guess repeating doesn't hurt here: People still talk about macros... ;-)</div><div><br class=""></div><div><blockquote type="cite" class=""><blockquote type="cite" class=""><div class=""><div class="">So while I think they’re both great features to have, I assume the core team will have higher priorities on their schedule, as I don’t see how these features wouldn’t eat up most resources for at least (!) one Swift release-cycle.<br class=""></div></div></blockquote><div class=""><br class=""></div><div class="">That’s just it: the core team is already prioritizing a lot of features that would greatly benefit from this. In fact, if this would be implemented, a large portion of the swift compiler could be moved into the standard library, because it wouldn’t be magic any more. This would single-handedly reduce the implementation time and effort of most proposals by a very large margin.</div></blockquote></div><div>… and I like specific examples ;-), so out of my head, four features that people want to have and that could be added easily with "Meta-Swift":</div><div>- Forwarding of protocol conformance (Kotlin, for example, has this: When a member conforms to a protocol, you don't have to write a bunch of methods that just say "let my member do this")</div><div>- init with reduced boilerplate</div><div>- Subtyping for non-class types, including a "newtype" option</div><div>- Property behaviours</div><div><br class=""></div><div>Imho the reflection capabilities that are needed to make the feature fly are the big tasks — using this information shouldn't be that hard, as it's just a explicit way of telling the compiler what to do.</div><div>Assuming that reflection will be improved anyways, it might be a very cheap feature with huge benefit.</div></body></html>