[swift-evolution] Large Proposal: Non-Standard Libraries

Benjamin Spratling bspratling at mac.com
Thu Nov 9 09:25:38 CST 2017


Sound great!  

Last week I started working on a pure-swift graphics library, one goal being fast server-side graphics manipulations, and already have .png decode/encode, and quadratic bezier curve stroking implemented, slowly, and poorly.  I’m working on TrueType fonts right now, and intend to open it to other developers once the basic architecture is refined.  I intend to add SVG and JPEG support as well.  It seems like if there is a “swift-community blessed geometry library”, this would be a natural extension of that, or at least depend on it.

Much of this depends on compression support, which I’ve already published a first cut of at https://github.com/benspratling4/SwiftFoundationCompression .  The goal there was a more “foundation” idea of compression than competing libraries, but it suffers from a lack of streaming support.

I would absolutely love a “BigNum” library.  Several encryption packages out there would benefit from it as well.  It seems arithmetic compression libraries would benefit, too.  Other useful Numeric types would include rational fractions, fixed-point, and short floats (Float16 is what Apple now thinks the future of images is, right?).  I’m happy to contribute; I end up writing those in a new language ever few years anyway.

-Ben Spratling


> On Nov 7, 2017, at 12:54 PM, Dave DeLong via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hi Swift-Evolution,
> ...
> 
> We propose to create an open-sourced "Non-Standard Library" effort that coexists with, coordinates with, and is blessed by the open source Swift development community. The "Non-Standard Library" will offer a well-curated, high-value collection of routines, types, and documentation to support Swift development on all platforms.
>
> Suggested Libraries
> 
> There are several areas we think that are ripe for improvement and implementation as a non-standard library, such as (but not limited to):
> A BigNum library
> A full-featured Random library
> A simplified date/time library
> A library for manipulating paths (that is not based on URL or String)
> An expanded Swift-native Geometry library and so forth.
> The scope and extent of the sublibraries would be proposed and debated on a parallel Non-Standard Library Evolution development list.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171109/8892bf33/attachment.html>


More information about the swift-evolution mailing list