<div><br><div class="gmail_quote"><div dir="auto">On Tue, Aug 1, 2017 at 12:21 Michael Ilseman via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></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"><div><br><blockquote type="cite"><div>On Aug 1, 2017, at 8:14 AM, Taylor Swift via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_6985549205460417541Apple-interchange-newline"><div><div><div><div><div><div><div><div>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><br></div><div>- RNG and cryptography library (CryptoSwift could be a good base for this)<br></div></div></div></div></div></div></div></div></blockquote><div><br></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div>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"><br></div><div dir="auto">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"><br></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"><div><div></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"><div><blockquote type="cite"><div><div><div><div><div><div><div>- Generic Math library/Vector library<br></div></div></div></div></div></div></div></blockquote><div><br></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div>This is pretty compelling.</div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><br><blockquote type="cite"><div><div><div><div><div><div>- Basic data structures (Tree, Balanced Tree, Heap, Queue, SkipList, graphs, etc)<br></div></div></div></div></div></div></blockquote><div><br></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div>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><br></div><div>For example, it might make sense to adopt something similar to <a href="https://github.com/lorentey/BTree" target="_blank">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><br></div><blockquote type="cite"><div><div><div><div><div>- Modern DateTime library<br></div></div></div></div></div></blockquote><div><br></div><div>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"><div><br><blockquote type="cite"><div><div><div><div><div>- Modern String processing toolkit<br></div></div></div></div></div></blockquote><div><br></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div>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"><div><br><blockquote type="cite"><div><div><div><div>- 2D Graphics library (similar to cairo)</div></div></div></div></blockquote><blockquote type="cite"><div><div><div>- Windowing/UI library<br><br></div></div></div></blockquote><div><br></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div>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"><div><br><blockquote type="cite"><div><div>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></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 1, 2017 at 8:29 AM, Georgios Moschovitis <span>&lt;<a href="mailto:george.moschovitis@icloud.com" target="_blank">george.moschovitis@icloud.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>&gt; That&#39;s what&#39;s happened with the Server APIs Project<br>
&gt; <a href="https://swift.org/server-apis/" rel="noreferrer" target="_blank">https://swift.org/server-apis/</a><br>
&gt;<br>
&gt; I would like to see more of this, and math/BigNum seems like a good candidate.<br>
&gt;<br>
&gt; Another is a modern date/time package, standing on the shoulders of<br>
&gt; <a href="https://jcp.org/en/jsr/detail?id=310" rel="noreferrer" target="_blank">https://jcp.org/en/jsr/detail?id=310</a> and similar.<br>
<br>
</span>+ 1<br>
<br>
I would also love to see standard implementation of Graph data structures, at least some common protocols.<br>
Dunno why this versatile data structure is not included in standard libraries (similar to Map/Dictionary), Set, etc.<br>
<span class="m_6985549205460417541HOEnZb"><font color="#888888"><br>
-g.</font></span></blockquote></div><br></div>
_______________________________________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div></blockquote></div></div>_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div></div>