Skip to content
This repository has been archived by the owner on Feb 8, 2022. It is now read-only.

publish for Scala 2.13.0-M5 #219

Closed
erikerlandson opened this issue Oct 19, 2018 · 26 comments
Closed

publish for Scala 2.13.0-M5 #219

erikerlandson opened this issue Oct 19, 2018 · 26 comments

Comments

@erikerlandson
Copy link

Dependency for typelevel/spire#742

@erikerlandson
Copy link
Author

erikerlandson commented Oct 19, 2018

available for 2.13.0-M5: scalacheck-1.14.0, scalatest-3.0.6-SNAP3
missing cats, which in turn depends on typelevel/machinist#31

update - now also scalatest-3.0.6-SNAP4
scalatest/scalatest#1409 (comment)

@erikerlandson
Copy link
Author

plugin dependency sbt-scalajs can be upgraded to 0.6.25, to get 2.13.0-M5

@johnynek
Copy link
Contributor

I think scalacheck 1.14 is binary incompatible with 1.13.6 so I think this makes the laws package binary incompatible.

Which may be okay. I guess we can bump a version.

@erikerlandson
Copy link
Author

I also don't see a huge problem with doing what scalatest did with "3.0.6-SNAPx", although presumably scala 2.13 is the future so moving in that direction on a non-snapshot release is good imo.

@ceedubs
Copy link
Contributor

ceedubs commented Oct 20, 2018

@johnynek Unfortunately I don't think that it's compatible (pre-Scala 2.12 at least). See typelevel/cats#2449 (where you said the same). I'd love to find out otherwise though :\

@erikerlandson
Copy link
Author

machinist-0.6.6 now available with 2.13.0-M5

@SethTisue
Copy link
Member

note that @xuwei-k did some work in this direction at #217

@erikerlandson
Copy link
Author

cats PR for 2.13.0-M5: typelevel/cats#2589

@erikerlandson
Copy link
Author

@erikerlandson
Copy link
Author

fooling around with a 2.13 build, I think the dependencies resolve but I'm running into IterableOnce vs TraversableOnce incompatabilities pre vs post 2.13

[error] /home/eje/git/algebra/core/src/main/scala/algebra/instances/map.scala:53:24: type TraversableOnce in package scala is deprecated (since 2.13.0): Use IterableOnce instead of TraversableOnce
[error]   override def sum(as: TraversableOnce[Map[K, V]]): Map[K, V] = {
[error]                        ^
[error] /home/eje/git/algebra/core/src/main/scala/algebra/instances/map.scala:55:8: method foreach in class IterableOnceExtensionMethods is deprecated (since 2.13.0): Use .iterator.foreach(...) instead
[error]     as.foreach { m =>

@johnynek
Copy link
Contributor

In idea I’ve had is replace the TraversableOnce methods with two methods of the same name. One on Iterator one on Iterable. The Iterable one by default can call the other.

Working with Iterator is pretty critical in big data systems that don’t always allow you to iterate twice.

What do you think?

@erikerlandson
Copy link
Author

@johnynek that seems totally sane to me - the only case that seems ambiguous there is Stream, which is being replaced(?) by LazyList in 2.13. Stream/LazyList are (iiuc) neither Iterator nor Iterable.

@erikerlandson
Copy link
Author

btw I was not planning on fixing TraversableOnce related issures.
unless nobody else wants to :)

@erikerlandson
Copy link
Author

@johnynek, I have been assuming that somebody familiar with this code would be better suited to this, but I see that nobody has been working much with this code since late 2016 😄 I'll take a run at it unless somebody else is planning to.

@SethTisue
Copy link
Member

Stream and LazyList are both Iterables

@johnynek
Copy link
Contributor

@erikerlandson I don’t think anyone is working on it, thanks.

I’m pretty skeptical the 2.13 churn is going to be a net positive. Twitter (and Stripe) are not even on 2.12 yet. I can’t imagine how long 2.13 will take.

@erikerlandson
Copy link
Author

I'm sure the benefits of 2.13 are rather un-evenly distributed. My own interest in it is focused almost exclusively on scala/scala#6050, and in my case the benefit is actually a side-effect of that work (better behavior of the resolution algorithm), not the original goal of by-name implicits.

@johnynek
Copy link
Contributor

I’m really trying hard not to rant about how much work it is to keep sbt up to date and have publishing working reliably...

@erikerlandson
Copy link
Author

@SethTisue this is a bit tangent, but the scaladoc list of super-types does not indicate anything about being a subclass of Iterable (however the code does).

@SethTisue
Copy link
Member

SethTisue commented Nov 26, 2018

but the scaladoc list of super-types does not indicate anything about being a subclass of Iterable (however the code does).

I see scala.Iterable[A] under "Linear supertypes", but maybe we're not talking about the same thing. if something here still seems wrong to you, please open a ticket in https://github.com/scala/bug

@erikerlandson
Copy link
Author

I finally figured it out - the page I had was the companion object page, not the class page :/

erikerlandson added a commit to erikerlandson/algebra that referenced this issue Nov 28, 2018
erikerlandson added a commit to erikerlandson/algebra that referenced this issue Nov 29, 2018
@SethTisue
Copy link
Member

what's next here? (just curious, just checking)

@erikerlandson
Copy link
Author

If #221 is approved, that should be sufficient for a release built against 2.13, but @johnynek would know more about other release roadmap concerns.

@larsrh
Copy link
Contributor

larsrh commented Jan 30, 2019

#223

@larsrh
Copy link
Contributor

larsrh commented Jan 30, 2019

Done.

@larsrh larsrh closed this as completed Jan 30, 2019
@SethTisue
Copy link
Member

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

No branches or pull requests

5 participants