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

Get this into the standard library? #2

Open
hinrik opened this issue Jan 18, 2017 · 3 comments
Open

Get this into the standard library? #2

hinrik opened this issue Jan 18, 2017 · 3 comments
Labels

Comments

@hinrik
Copy link

hinrik commented Jan 18, 2017

Have you considered submitting this for inclusion in Crystal's standard library before 1.0? I found your module after missing a core bag/multiset type like Bag in Perl 6 or Counter in Python.

@RX14
Copy link

RX14 commented Jan 18, 2017

@asterite opinion on this?

@hinrik
Copy link
Author

hinrik commented Jan 18, 2017

Notably, Perl 6's Bag is actually immutable, while BagHash is mutable (just like its Set and SetHash). I wonder whether it's worth having both versions in Crystal.

@spalladino
Copy link

Though I like this shard, adding new data structures to the stdlib is quite sensitive. We need to make sure that any change we make to the API of a data structure is consistent across all of them, and adding new ones will amplify the workload on each of those steps. This is especially true with parallelism being the next big step.

I'd suggest adding this to the standard library actually after 1.0, once we have a stable API that we like, and we can ensure that any new data structures we add conform to it. For now, I think that having this structure as a shard and listed in awesome-crystal works fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants