<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On Aug 1, 2017, at 8:02 AM, Taylor Swift via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I think the Server APIs project was pretty close to what I had in mind actually. I don’t see why more core libraries can’t be commissioned that way, things like Math and DateTime would probably draw a great deal more attention than Server APIs since they are used by more people. One thing that would have to be fixed though is the cross-module optimization problem; no one in their right mind should ever be making generic calls to <span style="font-family:monospace,monospace" class="">sin(x)</span>. A feature in the SPM that would perform “injection” of core library code into the interior of modules would probably be enough to fix this problem for now. (If this sounds hacky just remember that right now everyone seems to be copying and pasting <span style="font-family:monospace,monospace" class="">.swift</span> files everywhere.) Everything <span style="font-family:monospace,monospace" class="">internal</span> would become <span style="font-family:monospace,monospace" class="">fileprivate</span> and everything <span style="font-family:monospace,monospace" class="">public</span> would become <span style="font-family:monospace,monospace" class="">internal</span>. A good Swift library should expose no more than 7 or 8 symbols at the top level so this should play nice with most client projects.<br class=""><div class=""><div class="gmail_extra"><br class=""></div></div></div></div></blockquote><div><br class=""></div><div>This is already planned as part of how Modules will be able to control what is and is not part of their ABI:&nbsp;<a href="https://github.com/apple/swift/blob/master/docs/LibraryEvolution.rst#inlineable-functions" class="">https://github.com/apple/swift/blob/master/docs/LibraryEvolution.rst#inlineable-functions</a></div><div><br class=""></div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 1, 2017 at 4:50 AM, Ian Partridge <span dir="ltr" class="">&lt;<a href="mailto:ian@poncho.org.uk" target="_blank" class="">ian@poncho.org.uk</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 1 August 2017 at 04:46, Taylor Swift via swift-evolution<br class="">
<span class="im HOEnZb">&lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class="">
&gt; I’m not saying the Swift team should devote any time or resources to writing<br class="">
&gt; these things, but it’d be a huge benefit if someone were to say “okay we are<br class="">
&gt; commissioning a core library that does X, the code will live in Y Github<br class="">
&gt; repository, we’ve set up Z mailing list for this, and anyone who is willing<br class="">
&gt; to invest time in this is welcome to help make this a reality”. Then<br class="">
&gt; everyone with an interest in seeing these things get built would be able to<br class="">
&gt; coordinate.<br class="">
<br class="">
</span><div class="HOEnZb"><div class="h5">That's what's happened with the Server APIs Project<br class="">
<a href="https://swift.org/server-apis/" rel="noreferrer" target="_blank" class="">https://swift.org/server-apis/</a><br class="">
<br class="">
I would like to see more of this, and math/BigNum seems like a good candidate.<br class="">
<br class="">
Another is a modern date/time package, standing on the shoulders of<br class="">
<a href="https://jcp.org/en/jsr/detail?id=310" rel="noreferrer" target="_blank" class="">https://jcp.org/en/jsr/detail?<wbr class="">id=310</a> and similar.<br class="">
<br class="">
--<br class="">
Ian Partridge<br class="">
</div></div></blockquote></div><br class=""></div></div></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>