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
@larsrh What are your thoughts on splitting this stuff out of shapeless-contrib?
Ghost
@ghost~529c6cf4ed5ab0b3bf04da61
@milessabin Maintenance overhead is probably smaller when it's being kept together, but I don't have a strong opinion :-)
Miles Sabin
@milessabin
I have to say, I'm quite liking @alexarchambault's minimal and very focussed projects ... shapeless itself is beginning to feel a bit bloated, and I've been getting complaints about its footprint. I think for shapeless 3.0.0 I'd like to try and unpack things a bit.
Alexandre Archambault
@alexarchambault
I'm strongly opiniated either. I'd say smaller projects make it easy for new users to know what the project is about.
And to support several versions of the underlying project (here scalacheck, but argonaut for argonaut-shapeless, ...), it may be necessary to manage several branches of the bridge project, which should hopefully be easier with smaller projects.
Alexandre Archambault
@alexarchambault
I'm not strongly ... (too late for edit)
Alexandre Archambault
@alexarchambault
@/all I'd be about to change the way scalacheck-shapeless and argonaut-shapeless published versions are calculated...
I'm thinking about adding the major/minor version of the underlying lib in the name (artifact name) of scalacheck-shapeless or argonaut-shapeless, like scalacheck-shapeless_1.12 or argonaut-shapeless_6.1
And let these have their own version numbers, starting from 0.1.0
Aiming at paying attention to binary compatibility for a given (major, minor) version
Opinions?
Miles Sabin
@milessabin
I think that probably makes sense.
Though we have an ugly combinatorial explosion of Scala version, shapeless version and argonaut version.
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)