> On Aug 1, 2017, at 8:14 AM, Taylor Swift via swift-evolution 
> <[email protected]> wrote:
> 
> 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
> 
> - RNG and cryptography library (CryptoSwift could be a good base for this)

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.

> - Generic Math library/Vector library

This is pretty compelling.

> - Basic data structures (Tree, Balanced Tree, Heap, Queue, SkipList, graphs, 
> etc)

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.

For example, it might make sense to adopt something similar to 
https://github.com/lorentey/BTree as a general underlying representation for 
some kinds of higher level collections (or the mechanisms to easily adapt them).

> - Modern DateTime library

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.

> - Modern String processing toolkit

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?

> - 2D Graphics library (similar to cairo)
> - Windowing/UI library
> 

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.

> 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?
> 
> On Tue, Aug 1, 2017 at 8:29 AM, Georgios Moschovitis 
> <[email protected] <mailto:[email protected]>> wrote:
> > That's what's happened with the Server APIs Project
> > https://swift.org/server-apis/ <https://swift.org/server-apis/>
> >
> > I would like to see more of this, and math/BigNum seems like a good 
> > candidate.
> >
> > Another is a modern date/time package, standing on the shoulders of
> > https://jcp.org/en/jsr/detail?id=310 <https://jcp.org/en/jsr/detail?id=310> 
> > and similar.
> 
> + 1
> 
> I would also love to see standard implementation of Graph data structures, at 
> least some common protocols.
> Dunno why this versatile data structure is not included in standard libraries 
> (similar to Map/Dictionary), Set, etc.
> 
> -g.
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to