[Swift-devel] Standard Library Proposal/Discussion Page

Michael Wilde wilde at anl.gov
Tue Jan 20 22:55:38 CST 2015


On 1/20/15 9:59 PM, Ketan Maheshwari wrote:
> Neat!
>
> Comments:
>
> -- Statistical functions in a standard library seem out of place to 
> me. One may ask, why just stop with statistical functions and not also 
> include vector and matrix related functions such as cross and dot 
> products or fancier stuff like finding eigen values, etc.
Important things like sum( ) were placed in this category. I think this 
is a common need that's hard to do without an intrinsic library 
function. I suspect there are other frequently encountered needs to 
iterate through an array and select, count, or otherwise process 
elements that match some criteria.

I'd argue for moving such functions to the Array category instead of the 
stats category. Do we need other types of array reduction functions?  
min() / max()?  General reduction seems to demand function arguments, 
but I'm getting beyond my understanding of functional programming here.

I wonder what the minimal lowest common denominator intrinsic functions 
of this nature are, which would enable any higher-level set of stats 
functions to be implemented. I'm still trying to understand if a 
necessary and sufficient set of such functions were already included in 
the proposed set, or if these remain to be defined.

- Mike
>
> -- sqrt and cbrt seem redundant as we already provide pow with float 
> exponent.
>
> Regards,
> Ketan
>
> On Tue, Jan 20, 2015 at 6:56 PM, Mihael Hategan <hategan at mcs.anl.gov 
> <mailto:hategan at mcs.anl.gov>> wrote:
>
>     Hi,
>
>     I made a wiki page on github where we could discuss the standard
>     library: https://github.com/swift-lang/swift-k/wiki/StandardLibrary
>
>     It's a draft and there are some rough edges. In particular:
>
>     - regular expression support: substitutions can be done either
>     directly
>     or with a combination between a function that returns capture
>     groups and
>     a formatting function that replaces certain tokens with elements of an
>     array. One could overload the format() function to, in addition to
>     standard formatting specs, also support something like %s[index]. Or
>     have a separate formatting function that only deals with this specific
>     problem. I'm not sure.
>
>     - some of the array functions may be difficult to implement as
>     specified, or there may be different functions that solve the problems
>     better. In particular when joining arrays of arrays, there is some
>     freedom in how to order the elements of the resulting array.
>
>     - read and write: it may not be easy to implement a read that can
>     return
>     any type in T. There is some precedent in other languages that support
>     serialization for this.
>
>     Anyway, I added red exclamation marks and red question marks where
>     things aren't quite clear.
>
>     I'm assuming that most of us will agree on most of the things.
>     However,
>     if you have a wildly different proposal, it might be wise to create
>     another page instead of editing this one.
>
>     Mihael
>
>     _______________________________________________
>     Swift-devel mailing list
>     Swift-devel at ci.uchicago.edu <mailto:Swift-devel at ci.uchicago.edu>
>     https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel
>
>
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel

-- 
Michael Wilde
Mathematics and Computer Science          Computation Institute
Argonne National Laboratory               The University of Chicago

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/swift-devel/attachments/20150120/ee17cf30/attachment.html>


More information about the Swift-devel mailing list