Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 15 08:50
    alexarchambault synchronize #258
  • Apr 15 08:50

    alexarchambault on scala-cli

    Switch build to Scala CLI Use Scala CLI nightly (compare)

  • Apr 15 08:48

    alexarchambault on master

    Update sbt to 1.6.2 (#246) * A… (compare)

  • Apr 15 08:48
    alexarchambault closed #246
  • Apr 15 08:47
    alexarchambault synchronize #258
  • Apr 15 08:47

    alexarchambault on scala-cli

    Use Scala CLI nightly (compare)

  • Apr 15 08:47

    alexarchambault on sbt-main-line

    Use sbt main line launcher on CI (compare)

  • Apr 15 08:46
    alexarchambault synchronize #258
  • Apr 15 08:46

    alexarchambault on scala-cli

    Switch build to Scala CLI (compare)

  • Apr 15 08:45
    alexarchambault synchronize #258
  • Apr 15 08:45

    alexarchambault on scala-cli

    Switch build to Scala CLI (compare)

  • Apr 15 08:41

    alexarchambault on sbt-main-line

    (compare)

  • Apr 15 08:41
    alexarchambault synchronize #246
  • Apr 15 08:41

    alexarchambault on master

    Use sbt main line launcher on C… (compare)

  • Apr 15 08:40
    alexarchambault closed #259
  • Apr 15 08:37
    alexarchambault opened #259
  • Apr 15 08:37

    alexarchambault on sbt-main-line

    Use sbt main line launcher on CI (compare)

  • Apr 15 08:35
    alexarchambault synchronize #258
  • Apr 15 08:35

    alexarchambault on scala-cli

    Switch build to Scala CLI (compare)

  • Apr 15 08:33
    alexarchambault opened #258
Miles Sabin
@milessabin
We need multi-dimensional version numbers.
Alexandre Archambault
@alexarchambault
I was thinking about supporting only one (major/minor) version of shapeless per (major/minor) version of the bridge library
Miles Sabin
@milessabin
I think that's probably reasonable.
Alexandre Archambault
@alexarchambault
So versions of the bridge libs would stick to the shapeless ones (there would be a one to one correspondence)
Miles Sabin
@milessabin
Have you had a chance to take a look at #6?
The nesting issue is definitely a shapeless bug.
I'm not sure about the recursion issue though.
If it is a shapeless problem I'd like to find out ASAP so that I can get a fix into 2.2.0-RC2.
Alexandre Archambault
@alexarchambault
I forgot that, I'll have a look at it asap
Alexandre Archambault
@alexarchambault
@milessabin and asap should be tomorrow :-)
Miles Sabin
@milessabin
Awesome! Thanks :-)
Adel Nizamutdinov
@meoyawn
for some reason this stopped working when I updated from shapeless RC4 to RC6
sorry 2.2.0-RC4 to 2.2.0-RC6
compilations just goes on forever, I guess the problem is in shapeless itself
Alexandre Archambault
@alexarchambault
interesting
haven't checked RC6 yet
I was planning to do it end of this week / early next week
I'll check sooner if can
Miles Sabin
@milessabin
I don't think there were any changes RC4-RC6 which would account for that change.
@adelnizamutdinov do you have a small standalone reproduction?
Adel Nizamutdinov
@meoyawn
let me quickly upload one @milessabin
Adel Nizamutdinov
@meoyawn
Adel Nizamutdinov
@meoyawn
alexarchambault/scalacheck-shapeless#7
Adel Nizamutdinov
@meoyawn
I also wanted to say that shapeless scalacheck makes scalacheck lots and lots more pleasurable than TH.deriveArbitrary for QuickCheck :)
Alexandre Archambault
@alexarchambault
all the credit goes to @milessabin :-) (for shapeless)
thanks for the issue, I'll have a look at it
Miles Sabin
@milessabin
Comments on my update on #7 would be hugely welcome.
Greg Pfeil
@sellout
So, I added scalacheck-shapeless, tried removing some Arbitrary instances, but now compilation is at least an order-of-magnitude slower. (Well, it’s actually still going, so we’ll see how that ends up.)
Greg Pfeil
@sellout
Ok, I think we can go with “nonterminating”.
Miles Sabin
@milessabin
shapeless's Lazy effectively turns off scalac's checks for implicit divergence. On the plus side that means we can build recursive instances (for recursive data types). On the minus side, that means that it is possible to make the typechecker loop if resolution doesn't actually converge.
If you can post an example (preferably reduced) of what you're trying to do we should be able to help you out.
Alexandre Archambault
@alexarchambault
@sellout The trick described here sometimes speeds up things a bit (along with allowing slow-to-compile parts of code not to be recompiled too often).
More generally, things can get quite slow with large code bases (having one at work, I didn't switch all derivations to the "canonical" way of doing of scalacheck-shapeless, that is Lazy-based)
@milessabin I ran into non terminating compilations too, only recently, when trying to replace upickle macros with shapeless. It only happened with orphan derivation on.
Alexandre Archambault
@alexarchambault
That's what made want to replace it, milessabin/shapeless#427
Noel Markham
@noelmarkham
Hi - is there a maven artifact for scalacheck-shapeless with scalacheck 1.13? I can see the commits but can't work out if there's a jar out there
Alexandre Archambault
@alexarchambault
@noelmarkham Yep, the current snapshot (1.0.0-SNAPSHOT) is built against scalacheck 1.13 and pushed to Sonatype Snapshots.
I just updated the README to reflect that.
See the end of it.
Noel Markham
@noelmarkham
brilliant, thanks for the update
Dario Abdulrehman
@dabd
Hi, I am trying to use scalacheck-shapeless to generate arbitrary case classes that are using tagged types. However scalacheck does not seem to be able to generate Arbitrary instances in this case: https://gist.github.com/dabd/fbf5336b51f4c5d3bcd1404a76498a88
Olli Helenius
@liff
might it be the same issue as travisbrown/circe#220 ?
does it work if you define an Arbitrary for String @@ Baz
Dario Abdulrehman
@dabd
@liff that is what the implicit conversion arbTagged should be doing isn't it?
Olli Helenius
@liff
yes, but it might be a bit too generic
Dario Abdulrehman
@dabd
I gave it a go with implicit val arbTaggedString: Arbitrary[String @@ Baz] = Arbitrary(tag[Baz](Arbitrary.arbString)) but it doesn't compile. Is this how you define an Arbitrary[String @@ Baz]?
Olli Helenius
@liff
just replace the type parameters with concrete types in your original:
implicit val arbTaggedString: Arbitrary[String @@ Baz] = Arbitrary(arbitrary[String].map(a => tag[Baz](a)))
Dario Abdulrehman
@dabd
yeah it works, thanks. It seems like I need to define these explicitly then. I wonder why the implicit def is not working then
Olli Helenius
@liff
indeed
wonder if it's some compiler bug related to type aliases or something