<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 8:14 AM, Taylor Swift 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=""><div dir="ltr" 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><br class=""></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><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" 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><br class=""></div><div>This is pretty compelling.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" 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><br class=""></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 class=""></div><div>For example, it might make sense to adopt something similar to <a href="https://github.com/lorentey/BTree" 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><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class="">- Modern DateTime library<br class=""></div></div></div></div></div></blockquote><div><br class=""></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><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class="">- Modern String processing toolkit<br class=""></div></div></div></div></div></blockquote><div><br class=""></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><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class="">- 2D Graphics library (similar to cairo)</div></div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">- Windowing/UI library<br class=""><br class=""></div></div></div></blockquote><div><br class=""></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><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" 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 dir="ltr" class=""><<a href="mailto:george.moschovitis@icloud.com" target="_blank" class="">george.moschovitis@icloud.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> 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="">
</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="HOEnZb"><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" 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>