A lot has changed in Swift, from the @noescape parameter to generic extensions. This would be the perfect time to both take advantage of these features and clean up some of the sloppiness of the code base. Here are some changes that should be made:
Add the @noescape parameter wherever applicable, which is almost everywhere. It would finally bring methods like Array.each up to snuff with for by eliminating the need for self everywhere.
Move all code possible, including everything in Array.swift, to generic extensions.
Deal with poorly designed methods like Array.groupBy, which requires a needlessly verbose function parameter name. Another example is Array.zip, which would be better if (1) it returned an array of tuples rather than an array of arrays, so that there would for simpler access in a for loop, and (2) it retained type information from the arrays passed into it.
Create a standard terminology for commonly used variables, e.g., decide whether the type for an array should be called T or Element.
Create a new set of coding standards, strictly enforced for commits, that would include things such as the above.
This repo is in a very stagnant place while Swift is moving quickly. In the past month, 5 issues have been opened and only one has been responded to. Have most people moved on to some other repo, like Dollar.swift? It seems like this library could be a key supplement to the Swift standard library, bringing it on par with the standard libraries of languages like Ruby and Clojure, but it seems to have little enthusiasm behind it.
A lot has changed in Swift, from the
@noescape
parameter to generic extensions. This would be the perfect time to both take advantage of these features and clean up some of the sloppiness of the code base. Here are some changes that should be made:@noescape
parameter wherever applicable, which is almost everywhere. It would finally bring methods likeArray.each
up to snuff withfor
by eliminating the need forself
everywhere.Array.groupBy
, which requires a needlessly verbose function parameter name. Another example isArray.zip
, which would be better if (1) it returned an array of tuples rather than an array of arrays, so that there would for simpler access in afor
loop, and (2) it retained type information from the arrays passed into it.T
orElement
.This repo is in a very stagnant place while Swift is moving quickly. In the past month, 5 issues have been opened and only one has been responded to. Have most people moved on to some other repo, like Dollar.swift? It seems like this library could be a key supplement to the Swift standard library, bringing it on par with the standard libraries of languages like Ruby and Clojure, but it seems to have little enthusiasm behind it.
@pNre @sebbean @PGLongo