Giter Site home page Giter Site logo

Comments (33)

aturon avatar aturon commented on September 24, 2024

So, the breakage should be halting in the not-so-distant future. But if you feel like you need more focus, that could be a good reason to break things up.

I do think it's really worthwhile to try to keep some group efforts going, and in particular it'd be nice to have some means of "staging" collections and utils around them for eventual std inclusion, but you could consider having a github organization or some such for doing that.

from collect-rs.

alexcrichton avatar alexcrichton commented on September 24, 2024

Another possible option for the immediate future would be to have many crates inside of this one repository. Each would be published separately, but the management and group effort could stay centralized around this repository.

I do somewhat agree that a crate-per-collection may be a good way forward here.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

I'd also note I'm getting a bit burnt out on collection code-review, which I find much more intensive than reviewing other kinds of changes. It's subtle, complicated, and often brushes up against unsafe (unclear semantics and all). Not having a central repo would relieve a bit of the pressure as people can just make their whatever collection crates and I'm not blocking them from making changes or landing their latest whatevermajig.

Having some kind of... club...(?) of people interested in working on collections stuff could be a good idea. You have a collection design, you want someone to review it, you ping the club.

from collect-rs.

cgaebel avatar cgaebel commented on September 24, 2024

I'm totally in agreement. For any one person, there only tends to be a few modules they care about. I found myself burnt out on data structures review too.

A club sounds fun. Can we get t-shirts?

from collect-rs.

reem avatar reem commented on September 24, 2024

I approve, but I really appreciate the group maintenance and conventions effort which is much harder with many disparate crates and authors and I would be sad to lose it. We should figure out a good way to keep working together.

from collect-rs.

apasel422 avatar apasel422 commented on September 24, 2024

I also approve, though there is definitely value in enforcing conventions and upkeep through a single repo. A GitHub organization might be useful.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

I have made https://github.com/contain-rs (shout-outs to cmr for the fantastic pun).

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

Crates to make:

  • compare (done, unpublished atm, not sure about crate naming/ownership story)
  • tree (should map and set be separate crates...?)
  • trie (should map and set be separate crates...?)
  • interval_heap
  • linked_hash_map
  • lru_cache
  • blist
  • enum_set
  • immut_slist
  • linked_list (currently proto::DList)
  • linear_map
  • par_vec
  • ordered_iter
  • string_joiner

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

Good progress today.

CC @stepancheg @sellibitze @csouth3 @csherratt

This is happening, your code is moving/moved.

from collect-rs.

sellibitze avatar sellibitze commented on September 24, 2024

Thanks for the all the hard work, @gankro et al! This issue has slipped my attention until you mentioned my name. But I agree with everything that's been said here.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

@huonw has set up highfive and homu for us under the @FlashCat bot:

http://huon.me:54857/

Of particular interest: http://huon.me:54857/queue/all

from collect-rs.

csouth3 avatar csouth3 commented on September 24, 2024

Thanks for the heads up Gankro, everything looks great to me here!

from collect-rs.

reem avatar reem commented on September 24, 2024

@gankro that's awesome. So we should mark PRs using @FlashCat instead of @bors, and it'll work like in rust-lang?

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

@reem Modulo bugs, yes. See contain-rs/linked-hash-map#2 for my experiments with using the functionality. Basically if you r+ it seems to get stuck in an infinite verification step. Not sure what exactly what went wrong. Maybe @barosl has an idea.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

I've made stub repos for linear-map, par-vec, and string-joiner. If someone wants to take any of those migrations over, that would be super keen.

Otherwise I'm kinda unsure what to do with immut-slist and tree-map.

See #152 for immut-slist. immut is a weird name/convention to eternalize in a crate name. Then again immut-slist is mostly a proof-of-concept.

See #137 for tree-map. Basically we have a tricky naming/conventions issue. When we migrated trie-map we renamed it to trie, and actually renamed the collections to Map and Set so that you have trie::Map and trie::Set. But @apasel422 scooped tree in crates.io for his experimental replacement.

from collect-rs.

apasel422 avatar apasel422 commented on September 24, 2024

Hmm. It may make more sense to have separate crates for maps and sets after all, mainly because tree doesn't really mean anything on its own. For example, if the standard library's HashMap were split into its own crate, I wouldn't expect it to be called hash, necessarily.

from collect-rs.

huonw avatar huonw commented on September 24, 2024

immut-slist -> shared-slist?

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

@huonw Sounds like something that might use mutexes or some lock-free strategy to be mutably shared, where this is persistent.

from collect-rs.

reem avatar reem commented on September 24, 2024

Maybe we should group persistent collections together? I feel like we'd just get into the same situation as with collect down the line though.

from collect-rs.

huonw avatar huonw commented on September 24, 2024

Modulo bugs, yes. See contain-rs/linked-hash-map#2 for my experiments with using the functionality. Basically if you r+ it seems to get stuck in an infinite verification step. Not sure what exactly what went wrong. Maybe @barosl has an idea.

I think I fixed it: contain-rs/blist#1 (comment) Basically a problem with how travis handles organisations. (tl;dr: fix: activate travis in new repos via @FlashCat's account.)

Sounds like something that might use mutexes or some lock-free strategy to be mutably shared, where this is persistent.

I don't have that sense ("shared" == Rc and Arc for me), but I suppose persistent-slist is another possibility too.

from collect-rs.

abonander avatar abonander commented on September 24, 2024

@gankro I can migrate par_vec, seeing as I created it

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

@cybergeek94 That would be great! Check out any of the other repos for the format we're using.

from collect-rs.

abonander avatar abonander commented on September 24, 2024

@gankro Just curious, what would be the procedure to propose a new crate to the group?

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

@cybergeek94 I think we're looking at https://github.com/contain-rs/discuss ala rust-lang/rfcs right now

from collect-rs.

abonander avatar abonander commented on September 24, 2024

@gankro Yeah I saw that not long after I sent the previous message. I'm looking at the par_vec repo and it looks like I can't fork it or submit PRs while it's empty. How should I proceed?

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

Ah! I'll make a dummy README

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

dummy'd

from collect-rs.

apasel422 avatar apasel422 commented on September 24, 2024

@gankro: Another crate name option for migrating {TreeMap, TreeSet} is simply bst, with the types being moved to bst::{Map, Set}.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

string_joiner and linear_map are all that's left

from collect-rs.

tbu- avatar tbu- commented on September 24, 2024

I'd like to move linear_map. What do I have to do?

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

@tbu- I've pushed up a dummy repo you can make a PR against. https://github.com/contain-rs/linear-map

Check out https://github.com/contain-rs/blist for an example migration (basically just copy the src file to be lib.rs, add the copyright header, fix the cargo.toml, fix the README, and fix feature-flags/externs.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

I've also pushed a dummy repo for string-joiner and set up (I think) the last of the gh-pages and travis stuff.

from collect-rs.

Gankra avatar Gankra commented on September 24, 2024

Whoops, string-joiner still hasn't been migrated!

from collect-rs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.