Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

module SparseMatrix should be renamed #12323

Closed
lindahua opened this issue Jul 27, 2015 · 10 comments
Closed

module SparseMatrix should be renamed #12323

lindahua opened this issue Jul 27, 2015 · 10 comments
Labels
sparse Sparse arrays
Milestone

Comments

@lindahua
Copy link
Contributor

Currently, Julia base has a submodule named SparseMatrix. This name is problematic in several ways:

  • It violates the convention that a module name should use plural form when the name can be a name of certain type of entities.
  • We are working on introducing SparseVector into Base (see [WIP] SparseVector #11424). It is really inconsistent and confusing to have a module named SparseMatrix while a type within that module named SparseVector.
  • We have StridedMatrix, DenseMatrix, and Matrix, which are all types, while SparseMatrix is a module ...

I propose to rename this sub-module to Sparse or SparseArrays. (Personally, I prefer the former, which is both concise and informative).

@lindahua lindahua added the sparse Sparse arrays label Jul 27, 2015
@tkelman
Copy link
Contributor

tkelman commented Jul 27, 2015

This will break package/user code and should not be done prior to 0.4. There's an unfortunately-named CHOLMOD.Sparse type that conflicts with this as well. The plural thing is really a guideline more than a hard rule, I don't think that matters much here. I'd prefer SparseArrays or similar, since Sparse is too short, too general, and it's an adjective.

@lindahua
Copy link
Contributor Author

I am ok with SparseArrays, and also fine with doing the renaming post-v0.4.

@ViralBShah
Copy link
Member

I am ok with renaming, but post 0.4.

@andreasnoack
Copy link
Member

CHOLMOD.Sparse is not exported so there is not a conflict. The type names in the CHOLMOD module are chosen such that they correspond to the names of the structs in CHOLMOD. I think SparseArrays is fine.

@ScottPJones
Copy link
Contributor

👍 to SparseArrays, post v0.4 (very good to see @lindahua having time for Julia again!)

@StefanKarpinski
Copy link
Member

I somewhat prefer Sparse over SparseArrays. I'm trying to think of something else that Sparse might plausibly refer to and having a hard time coming up with anything.

@tkelman
Copy link
Contributor

tkelman commented Jul 28, 2015

I've seen people use the term sparse to refer to missing-data situations, which bugs me a little because the implementations are usually quite different. Or sparse coding in the compressed sensing literature, LASSO methods etc where you end up with results that are sparse in values, but not (usually) in representation.

And it's likely confusing to have both a sparse function and a Sparse module, like we saw recently with pipe/Pipe. CHOLMOD.Sparse isn't exactly a conflict since it's not exported, but while working inside the cholmod-related files there's some potential ambiguity.

@johnmyleswhite
Copy link
Member

I agree with @tkelman: the word sparse is used for a lot of things that aren't related to array storage.

@jakebolewski jakebolewski added this to the 0.5 milestone Aug 13, 2015
@ViralBShah
Copy link
Member

Bump. We should do this soon and early in the cycle.

@tkelman
Copy link
Contributor

tkelman commented Oct 14, 2015

Closed by #13440

@tkelman tkelman closed this as completed Oct 14, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sparse Sparse arrays
Projects
None yet
Development

No branches or pull requests

8 participants