<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 7, 2017 at 2:37 PM, Gwendal Roué <span dir="ltr">&lt;<a href="mailto:gwendal.roue@gmail.com" target="_blank">gwendal.roue@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>Le 7 déc. 2017 à 13:59, Benjamin G &lt;<a href="mailto:benjamin.garrigues@gmail.com" target="_blank">benjamin.garrigues@gmail.com</a>&gt; a écrit :</div><br class="m_9074830519572459420Apple-interchange-newline"><div><br class="m_9074830519572459420Apple-interchange-newline"><br style="font-family:Helvetica;font-size:14px;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"><div class="gmail_quote" style="font-family:Helvetica;font-size:14px;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">On Thu, Dec 7, 2017 at 1:45 PM, Gwendal Roué<span class="m_9074830519572459420Apple-converted-space"> </span><span dir="ltr">&lt;<a href="mailto:gwendal.roue@gmail.com" target="_blank">gwendal.roue@gmail.com</a>&gt;</span><span class="m_9074830519572459420Apple-converted-space"> </span><wbr>wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><span><br><div><blockquote type="cite"><div>Le 7 déc. 2017 à 11:00, Benjamin G via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; a écrit :</div><br class="m_9074830519572459420m_6833561026732858738Apple-interchange-newline"><div><div dir="ltr" style="font-family:Helvetica;font-size:14px;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"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>Until, and if, the “resistance” presents some conceptual explanation of how this could cause harm (I’m not asking for anything concrete, just a logical series of events that causes a plausible problem in practice), my belief is that the Swift community will see this as unwarranted fear.</div></div></blockquote><div><br></div><div>On the server side :<span class="m_9074830519572459420m_6833561026732858738Apple-converted-space"> </span><br></div><div>automatically generate an administration api for your model based on introspection. Since swift doesn&#39;t provide anything convenient, and people may simply try to &quot;port&quot; approach from python framework (like django), they&#39;ll resort on recreating some kind of BaseDynamicObject that you&#39;ll have to extend for all your base classe, using some &quot;properties()&quot; and &quot;methods()&quot; functions to define your properties and methods for your model.</div><div><br></div><div>Or :</div><div>Automatically generate a database schema based on your model. Same idea.</div></div></div></div></div></blockquote><br></div></span><div>The explicit harm that Chris is looking for is yet to be shown. </div></div></blockquote><div><br></div><div>The harm isn&#39;t in generating the database schema, or the administration api. it&#39;s in abandonning all kind of compile-time safety in your model layer (and such by extension in almost every part of your stack) in order to accomplish this. Dynamic language obviously don&#39;t have this concern, but thankfully Swift isn&#39;t a dynamic language.<br></div></div></div></blockquote><div><br></div></span><div>Yes, yes, but this has been said dozens of time already in this thread. Chris&#39;s question is *how*, not *what*. It&#39;s much harder to answer, I agree.</div></div></div></blockquote><div><br></div>I think i answered that question many times as well (by masquerading dictionaries as regular classes), but if what i&#39;m saying is simply impossible because of Swift type system even with the new proposal, i&#39;d rather people tell it to me than ask the same question over and over..<br><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span class=""><br><blockquote type="cite"><div class="gmail_quote" style="font-family:Helvetica;font-size:14px;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"><div><blockquote type="cite"> You should not assume that everybody feels an horror thrill by reading such applications of dynamism. As a matter of fact, users of dynamic languages *live* and *enjoy* this. Python and Ruby users, obviously (Rails + Django), but also ours close cousins, the Objective-C developers, who rely on Key-Value coding or validation methods. Those use cases are, I&#39;m sorry to say it, *compelling* use cases for dynamism.</blockquote></div><div><br></div><div>Not sure what field you&#39;re working in, but at least on the server the general trend toward more compile-time safety has been pretty obvious for some time now.<br></div></div></blockquote><div><br></div></span><div>I&#39;m not sure you really care about my answer.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Gwendal</div><div><br></div></font></span></div></div></blockquote></div><br></div></div>