Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 20 2020 15:47
    Travis DmytroMitin/macro-compat (master) failed (2)
  • Jun 20 2020 15:23
    Travis DmytroMitin/macro-compat (master) errored (1)
  • Sep 05 2019 12:45
    milessabin closed #85
  • Sep 05 2019 12:45
    milessabin commented #85
  • Sep 05 2019 11:57
    Philippus commented #85
  • Aug 25 2019 03:05
    eed3si9n closed #81
  • Jul 19 2019 10:28
    milessabin closed #87
  • Jul 19 2019 10:28
    milessabin commented #87
  • Jul 18 2019 20:35
    pjfanning opened #87
  • Jun 13 2019 06:12
    milessabin closed #86
  • Jun 13 2019 06:09
    milessabin commented #86
  • Jun 12 2019 22:08
    eed3si9n opened #86
  • Jun 10 2019 18:59
    milessabin commented #85
  • Jun 10 2019 18:02
    limansky commented #85
  • Jun 10 2019 18:01
    limansky commented #85
  • Jun 09 2019 17:34
    SethTisue commented #85
  • Jun 09 2019 17:33
    SethTisue commented #85
  • Jun 09 2019 17:28
    SethTisue commented #85
  • Jun 09 2019 17:27
    SethTisue commented #85
  • Jun 09 2019 17:27
    SethTisue commented #85
Michael Pilquist
@mpilquist
I noticed Simulacrum has a compile scope dependency on macro-compat. Is it okay to change this to provided?
Hm, I suppose not
Miles Sabin
@milessabin
What would it be provided by?
Michael Pilquist
@mpilquist
Well nothing would provide it for a 2.11 build
But that's more POM trickery than I care to deal with I guess
Miles Sabin
@milessabin
Right.
Dale Wijnand
@dwijnand
Huh. Shouldn't provided work for both? What's calls in the bytecode are there to macro-compat after compilation?
Miles Sabin
@milessabin
Yeah, it is supposed to be completely eliminated for 2.11+
Dale Wijnand
@dwijnand
what about 2.10?
what bytecode is being executed at runtime that needs macro-compat?
Miles Sabin
@milessabin
Runtime is the execution of the 2.10.x macro. So all the adaptation code.
Dale Wijnand
@dwijnand
that's the compiler runtime, and provided dependencies are there during compilation
anyways, there's no big wins in changing anything to my knowledge, just thinking out loud
Miles Sabin
@milessabin
Happy to have suggestions for improving things :-)
Alexandru Nedelcu
@alexandru
Hi guys. In case I have a macro-related bug with Scala 2.12, how should I report it? I don’t have a minimal case.
Asking here because you guys know macros :P
Miles Sabin
@milessabin
If it's a compiler bug, the the Scala issue tracker is the place.
You could also ask in scala/contributors or scalamacros/paradise.
Or ping @xeno-by.
Miles Sabin
@milessabin
Thanks ... on macro-compat right now :-)
Miles Sabin
@milessabin
Just published macro-compat for 2.12.0.
Alexandru Nedelcu
@alexandru
:+1:
Naoki Aoyama
@aoiroaoino
:tada:
jeremyrsmith
@jeremyrsmith
There's a @deprecated annotation on enclosingClass et al which says to look at the docs for more information. I looked at the docs and couldn't find it, any pointers? (asking here because it's the closest extant thing to a scala macros gitter)
what I'm trying to do in this particular case is rewrite val foo = method into val foo = method("foo") where method is the macro... the invocation would always be assigned to a val (or fail to compile) and should track the name of the val to which it was assigned. Not possible?
I mean I know it's possible, but... not recommended?
Miles Sabin
@milessabin
You should try in the scalamacros/paradise gitter ... you'll find @xeno-by there :-)
Alexandru Nedelcu
@alexandru
Hi guys - can you publish for 2.12.1?
Thanks :-)
Ghost
@ghost~54a283bfdb8155e6700e3f59
Paradise is ready btw :)
Ghost
@ghost~529c6cf4ed5ab0b3bf04da61
Given that sbt 1.0.x is on the horizon now, is it time to drop ecosystem support for 2.10, and hence, obsolete macro-compat?
(this is just me thinking out loud)
Dale Wijnand
@dwijnand
If there're changes in 2.13 then there might still be a need?
Miles Sabin
@milessabin
I don't anticipate doing any more work on macro-compat.
I don't really know what labelling it as "obsolete" would add . .. it's as obsolete as 2.10.x is ... people will keep using it as long as the have to.
Ghost
@ghost~529c6cf4ed5ab0b3bf04da61
@milessabin that's what I was interested in hearing :smile:
I'll ask the cats maintainers what they think about 2.10.x etc., and will possibly go through some projects sending PRs dropping support for 2.10
Miles Sabin
@milessabin
Just published macro-compat 1.1.1 for #Scala 2.13.0-M3.
Dale Wijnand
@dwijnand
@milessabin are you free for a second, please?
Dale Wijnand
@dwijnand

I was wondering if you'd find a nice way to define a macro bundle such that it can be both called from a macro expansion call .. = macro FooMacros.foo and from within another macro.

It's the exact same problem that motivates macro bundles: https://docs.scala-lang.org/overviews/macros/overview.html#writing-bigger-macros. Except that motivates creating 1 bundle, but doesn't give any help on bundles calling bundles.

From looking back at the macro bundles in shapeless it seems to rely on inheritance. Is that the only way used because no other way is really viable, or have I missed some other way?
I've been trying both the new { val c: c1.type = c1 } with Helper type solutions and class Helper[C <: Context](val c: C) type solutions, but neither works when using both macro invocation and bundle-to-bundle invocation.
Miles Sabin
@milessabin
I dimly remember trying out various permutations of those sorts of ideas a few years back.
But I'm afraid I don't remember their strengths/weaknesses.
Dale Wijnand
@dwijnand
Alright. Thanks :)
Eric Peters
@er1c
This project has been archived? Is it not suppose to be used?
Dmytro Mitin
@DmytroMitin
@er1c see discussion here: milessabin/macro-compat#85
Kam
@cchafer

Hello,
sorry to dig up an old topic, but I'm stuck on my Scala 2.13 project, which I try to upgrade to sbt 1.5.x.
I'm stuck on downloading macro-compat 1.1.1. I read the different messages, and I understand the reason.
The only problem is that I don't have a direct dependency to macro-compat.
And doing a dependencyGraph/Tree/... on sbt does not refer me any dependency to macro-compat.
I presume another dependency triggers this problem when updating, but how can I figure out which one?

Thanks a lot!

Kam
@cchafer
Just forget my question. I put my brain on, and found the answer just by removing dependencies one by one.... (for the ones that would ask, the guilty library is Phantom, the cassandra driver)