Closed jsuereth closed 8 years ago
Would you be willing to turn all the "sheds" into "scala sheds"? It would be easier to read the code examples if they all had syntax highlighting.
@non more than happy. I wasn't sure if the website supported scala sheds, or if we need to discuss more shed possibilities.
@jsuereth Do I understand correctly that transducers are an implementation detail and won't be exposed to the users, i.e. not part of the public api? That would allow a future implementation to improve performance without changing external api.
Side note: there a quite a few typos in the document.
@cvogt Sort of. The traits will be sealed, and all implementations locked down. The methods will be "public" in the sense that you can call them from views. Practically it's "locked down" and can be fiddled with since everything will be appropriately hidden, but even private[package]
only goes so far for those who want to violate your visibility restrictions.
@jsuereth sure, users can circumvent whatever. As long as they are an implementation detail that can be swapped out or refined without breaking user code that isn't going around the publicly supported API, I think doing folds for everything initially seems reasonable for the sake of getting something correct and ready quicker.
@odersky / @dickwall SO I migrated the proposal to the new document number and it appears to have decided your comments should be minimized. They are still on the old diff if we want to discuss there, or we can reopen them.
A note to all reviewers. I was able to get VIew
to extend GenTraverasbleOnce[E]
which allows it to be used in flatmaps. I think GenTraversableOnce has a few too many methods on it, but this appears to be an acceptible soluton to allow views to participate in a lot of collection algorithms.
I'm going to see if GenTraversable[E] also makes sense. This seems less likely due to some CanBuildFrom machinery bleeding into the public API.
proposal as it stood at the time we shut down this repo: https://github.com/scala/slip/blob/cd8f7ae7dba6b7d884e8763f666b1a54005e7108/text/0027-collection-view-redesign.md
This has already gone through a round of offline reviews. I'll clean up the git history after all commentating is done.