<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 23, 2016, at 3:13 AM, Tino Heth via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">My personal theory of the whole phase-one construct is that it's just a way to calm everyone down, so that there is more time to actually do some work on the code ;-)</div></div></blockquote><div><br class=""></div><div>Your theory isn’t exactly wrong: it turns out while the majority of people on swift-evolution want to talk about new features, that a large majority of Swift *users* don’t actually care about new features: they want the existing compiler to work better with its current feature set.</div><div><br class=""></div><div>As such, the Swift team is focused on making the compiler crash less, compile faster, and add critical features necessary for ABI stability (a long term strategic goal). This does lead to some new features that are demanded by the standard library (e.g. conditional conformances), but the majority of the focus is on reducing technical debt and improving the quality of the compiler.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Afair, the conversation about this didn't fade out slowly, but was stopped by someone saying "that addition is to big to be considered now".</div><div class="">I'm to lazy to fight with the medium to find a reference, but there is a draft for a proposal:</div><div class=""><a href="https://github.com/SwiftInofficialEvolution/Home/wiki/compile-time%20parameters" class="">https://github.com/SwiftInofficialEvolution/Home/wiki/compile-time%20parameters</a></div><div class=""><br class=""></div><div class="">I think the idea is quite useful, but it might be confusing for some people that they can create Vector<Int, size: 4> but not Vector<Int, size: myIntValue>.</div><div class="">The issue with the latter is obvious when you fully understand the concept, but if myIntValue is known to be a constant at compile time (or a fixed case of an enum…), it's harder to decide wether the compiler should accept it.</div></div></div></blockquote><br class=""></div><div>I would love to see this happen some day, but it is one of MANY things that I think need to happen over the next “10" years. The concept of "Swift 4 stage 1” is to cause an intense focus on the most important issues, and this is one of many that can be added later. As such, we should wait until we have the ability to properly consider additive features, and weigh them against each other to determine which is the most critical in the short term. While there are a ton of really great things that can be added now, I am personally super focused on ensuring that new things build towards Swift being a great language in 20 years.</div><div><br class=""></div><div>I’m happy to sacrifice cool new features in the short-term to ensure that Swift has a fantastic long-term future.</div><div><br class=""></div><div>-Chris</div><br class=""></body></html>