<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=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 1, 2017, at 10:39 AM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><div class="gmail_quote"><div dir="auto" class="">On Tue, Aug 1, 2017 at 12:21 Michael Ilseman via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""></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;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 1, 2017, at 8:14 AM, Taylor Swift via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_6985549205460417541Apple-interchange-newline"><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class="">I’ve noticed from this and older threads that everyone agrees on what core libraries we want, but they never actually get built. Perennial requests seem to be<br class=""><br class=""></div><div class="">- RNG and cryptography library (CryptoSwift could be a good base for this)<br class=""></div></div></div></div></div></div></div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">A new implementation of crypto is probably a very bad idea. A blessed wrapping around the platform’s preferred implementation of crypto, however, is certainly needed.</div></div></div></blockquote><div dir="auto" class=""><br class=""></div><div dir="auto" class="">My understanding was that this is already part of the Swift server working group’s efforts, and a large part at that.</div><div dir="auto" class=""><br class=""></div></div></div></div></blockquote><div><br class=""></div><div>That’s right, and this is definitely better handled by them:&nbsp;<a href="https://swift.org/server-apis/" class="">https://swift.org/server-apis/</a></div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class=""></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class="">- Generic Math library/Vector library<br class=""></div></div></div></div></div></div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">This is pretty compelling.</div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class="">- Basic data structures (Tree, Balanced Tree, Heap, Queue, SkipList, graphs, etc)<br class=""></div></div></div></div></div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">Which flavor/implementation of tree, balanced tree, heap, graphs are desirable here? The desirability of many of these structures is often dependent on which of many competing tradeoffs were made. Implementation details can dramatically shape the general applicability of a data structure.</div><div class=""><br class=""></div><div class="">For example, it might make sense to adopt something similar to <a href="https://github.com/lorentey/BTree" target="_blank" class="">https://github.com/lorentey/BTree</a> as a general underlying representation for some kinds of higher level collections (or the mechanisms to easily adapt them).</div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class="">- Modern DateTime library<br class=""></div></div></div></div></div></blockquote><div class=""><br class=""></div><div class="">Foundation provides many of these, though I’m sure there are always opportunities for improvement. Do you see a specific need that cannot be addressed with improvements to corelibs-foundation? There’s a large amount of domain expertise in Foundation and they are pretty active on the mailing lists.</div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class="">- Modern String processing toolkit<br class=""></div></div></div></div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">This is a huge gap in Swift’s current offerings, and I’m personally invested in improving the situation here. At the risk of hijacking this thread, do you have a good bullet list of the kinds of facilities you imagine useful? More specifically (and to keep the discussion scoped), are there any tools beyond something like good language support for regular expression matching and substitutions?</div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class="">- 2D Graphics library (similar to cairo)</div></div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div class=""><div class="">- Windowing/UI library<br class=""><br class=""></div></div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">By this, do you mean cross-platform pure Swift rethinks? This is certainly interesting, but a pure Swift rethink is likely a lower priority than exposing bindings for existing cross-platform approaches (e.g. you mentinoed cairo). Like crypto, it might make sense to establish blessed wrappers/apinotes/overlays on top of tried-and-true open source offerings.</div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div class="">I think David Turnbull tried to get something like this started years back but it fizzled out pretty quick, probably because the Swift foss community was much smaller back then. Time to try again?<br class=""></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Aug 1, 2017 at 8:29 AM, Georgios Moschovitis <span class="">&lt;<a href="mailto:george.moschovitis@icloud.com" target="_blank" class="">george.moschovitis@icloud.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; That's what's happened with the Server APIs Project<br class="">
&gt; <a href="https://swift.org/server-apis/" rel="noreferrer" target="_blank" class="">https://swift.org/server-apis/</a><br class="">
&gt;<br class="">
&gt; I would like to see more of this, and math/BigNum seems like a good candidate.<br class="">
&gt;<br class="">
&gt; Another is a modern date/time package, standing on the shoulders of<br class="">
&gt; <a href="https://jcp.org/en/jsr/detail?id=310" rel="noreferrer" target="_blank" class="">https://jcp.org/en/jsr/detail?id=310</a> and similar.<br class="">
<br class="">
</span>+ 1<br class="">
<br class="">
I would also love to see standard implementation of Graph data structures, at least some common protocols.<br class="">
Dunno why this versatile data structure is not included in standard libraries (similar to Map/Dictionary), Set, etc.<br class="">
<span class="m_6985549205460417541HOEnZb"><font color="#888888" class=""><br class="">
-g.</font></span></blockquote></div><br class=""></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class=""></div></blockquote></div></div>_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</blockquote></div></div>
</div></blockquote></div><br class=""></body></html>