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

Update Cats Version and Other Compatible Shifts #204

Merged
merged 6 commits into from
Oct 4, 2017

Conversation

ChristopherDavenport
Copy link
Member

2.12 updates requires and update to scalajs and I didn't know if you wanted to make those shifts as well, so I figured I would start off small.

Copy link
Contributor

@johnynek johnynek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for sending this.

.travis.yml Outdated
@@ -14,7 +14,7 @@ jdk:

matrix:
include:
- scala: 2.12.0
- scala: 2.12.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not bump to 2.12.3?

build.sbt Outdated
lazy val catalystsVersion = "0.0.5"

lazy val buildSettings = Seq(
organization := "org.typelevel",
scalaVersion := "2.12.1",
crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.1")
crossScalaVersions := Seq("2.10.6", "2.11.11", "2.12.1")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we change to 2.12.3 here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the dilemma is that these require scala-js changes which require changes to your build.sbt.

I didn't want to do that on the original PR in case you wanted to have a minimal dependency shift, however I can get these done.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently so did, 2.11.11 so it needed to be done either way.

@ChristopherDavenport
Copy link
Member Author

Sorry about the sloppy git.

@johnynek
Copy link
Contributor

no worries about the sloppy git. We squash merge anyway.

@johnynek
Copy link
Contributor

👍

lgtm

I honestly don't know anything about scalajs so this is a bit like shooting in the dark.
@ChristopherDavenport
Copy link
Member Author

ChristopherDavenport commented Sep 19, 2017

Everything is fine, except for a now flagged local val in 2.12, how would you prefer I resolve?

Heck, I even just published locally and successfully tested algebird against the updated version with no other additions needed.

@johnynek
Copy link
Contributor

can you remove those two local vals to get the test green?

@ChristopherDavenport
Copy link
Member Author

I can, however I think it makes the tests that follow irrelevant as I believe they relied on the implicit in scope.

Will push that to you though.

@codecov-io
Copy link

codecov-io commented Sep 19, 2017

Codecov Report

Merging #204 into master will decrease coverage by 0.38%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #204      +/-   ##
==========================================
- Coverage   73.84%   73.45%   -0.39%     
==========================================
  Files          37       37              
  Lines         776      776              
  Branches       58       58              
==========================================
- Hits          573      570       -3     
- Misses        203      206       +3
Impacted Files Coverage Δ
...a/algebra/lattice/BoundedDistributiveLattice.scala 23.07% <0%> (-7.7%) ⬇️
core/src/main/scala/algebra/ring/Ring.scala 97.29% <0%> (-2.71%) ⬇️
core/src/main/scala/algebra/ring/Additive.scala 42.85% <0%> (-1.59%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 64eda16...bc9786a. Read the comment docs.

@johnynek
Copy link
Contributor

Okay, so this lowered code coverage, but we weren't actually using the implicits...

Huh... I guess we are calling methods regardless, so I can see how that happens, but it is not 100% clear to me if we are actually not using the implicits or if this could be a bug in 2.12.3....

cc @non

@coltfred
Copy link
Contributor

coltfred commented Oct 3, 2017

It'd be really nice to get this merged so there is version published for cats 1.0.0-MF.

@johnynek
Copy link
Contributor

johnynek commented Oct 4, 2017

I guess we can punt on deep diving on why code coverage dropped here.

@johnynek johnynek merged commit a17de00 into typelevel:master Oct 4, 2017
@coltfred
Copy link
Contributor

coltfred commented Oct 5, 2017

@johnynek @non Could one of you publish the 0.8.0 with these changes?

@johnynek
Copy link
Contributor

johnynek commented Oct 5, 2017

I’ll try to do this today. Sorry for the latency.

@ChristopherDavenport ChristopherDavenport deleted the catsUpdate branch October 5, 2017 20:13
@coltfred
Copy link
Contributor

@johnynek Ping!

@johnynek
Copy link
Contributor

johnynek commented Oct 14, 2017 via email

@coltfred
Copy link
Contributor

coltfred commented Nov 2, 2017

@johnynek Maybe you could bump to cats 1.0.0-RC1 and skip 1.0.0-MF? 🤣

@johnynek
Copy link
Contributor

johnynek commented Nov 2, 2017

seems like a good plan!

@johnynek
Copy link
Contributor

johnynek commented Nov 3, 2017

so, it's pretty broken currently due to discipline upgrade. looking.

@johnynek
Copy link
Contributor

johnynek commented Nov 3, 2017

typelevel/cats#1922

this PR is what we need to accommodate.

cc @LukaJCB @denisrosset

PS: this is the pain of making cosmetic changes to fix warts.... ugh... I don't have the time to deal with this now. Is anyone interested in sending a PR to fix this?

@johnynek
Copy link
Contributor

johnynek commented Nov 3, 2017

PS: now that I'm cranky about this again... another reason to live with warts is because fixing breakage costs us labor we often don't have.

@denisrosset
Copy link
Contributor

@johnynek what should we do? Align algebra to the new cats-kernel style, or import from the old cats-kernel-laws the pieces in the old style, so that we don't propagate the breakage downstream?

On the Spire side, I'd like to make quite a bit of changes before we stabilize on 1.0, but how far we go will depend on other maintainers. Could be that we follow the new cats-kernel style, or that we find a third way (especially as we'd like to test primitive types such as Int and Double).

@LukaJCB
Copy link
Member

LukaJCB commented Nov 3, 2017

I'm putting together a PR to update to the new law encoding. I'd appreciate if someone could answer a couple of questions on gitter :)

@johnynek
Copy link
Contributor

johnynek commented Nov 4, 2017

Importing the old style may be the easiest fix. I don’t know what @LukaJCB had in mind. Honestly I was never crazy about this super inheritance driven approach but it is what we have I guess.

@MansurAshraf
Copy link

Hey guys,

Sorry to bump this thread but we have projects that are heavily using cats and Algebird which in turn depends on Algebra 0.7.0 and older version of cats. Using cats RC1 with current version of Algebra/Algebird is polluting our build with eviction notice and making some folks nervous about subtle binary compatibility issues. Do we have any timeline on when Algebra will be upgraded to cats rc1. I am hoping Algebird will upgrade to newer Algebra soon after that

[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn]  * org.typelevel:cats-kernel_2.11:1.0.0-RC1 is selected over 0.9.0
[warn]      +- org.typelevel:cats-core_2.11:1.0.0-RC1 ()          (depends on 1.0.0-RC1)
[warn]      +- org.typelevel:algebra_2.11:0.7.0 ()                (depends on 0.9.0)
[warn] Run 'evicted' to see detailed eviction warnings

@MansurAshraf
Copy link

I noticed after writing the message that this PR is already merged with cats 1.0-MF. Do we know when next release will be cut?

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

Successfully merging this pull request may close these issues.

7 participants