Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 09:01
    bishabosha assigned #2205
  • 09:01
    bishabosha unassigned #2205
  • 09:01
    bishabosha commented #2205
  • 07:53
    lrytz milestoned #12474
  • 07:53
    lrytz labeled #12474
  • 07:53
    lrytz labeled #12474
  • 07:50
    julienrf assigned #2205
  • 07:50
    julienrf unassigned #2205
  • 07:50
    julienrf commented #2205
  • 03:00
    som-snytt commented #504
  • Oct 17 23:58
    SethTisue closed #504
  • Oct 17 23:58
    SethTisue commented #504
  • Oct 17 21:39
    smarter commented #12437
  • Oct 17 21:35
    s5bug edited #12474
  • Oct 17 21:28
    s5bug opened #12474
  • Oct 17 15:45
    strelec commented #504
  • Oct 17 05:52
    som-snytt commented #10603
  • Oct 16 23:34
    SethTisue edited #12171
  • Oct 16 23:34
    SethTisue unlabeled #10603
  • Oct 16 23:33
    SethTisue demilestoned #10603
Luis Miguel Mejía Suárez
@BalmungSan
Maybe something related to the F-Bound?
shvahabi
@shvahabi:matrix.org
[m]

Is xml string interpolation implemented as a feature of Scala 3 ? If positive, how can I make

xml"""
         |<p>Hello World!</p>
         |""".stripMargin

compile? I always receive a value xml is not a member of StringContext error message.

Luis Miguel Mejía Suárez
@BalmungSan
AFAIK xml support is not part of the compiler anymore.
If such interpolator exists it should be part of some library, maybe this one: https://github.com/scala/scala-xml
1 reply
shvahabi
@shvahabi:matrix.org
[m]
is the sample code for xml interpolation at https://dotty.epfl.ch/docs/reference/dropped-features/xml.html compilable in anyway?
Luis Miguel Mejía Suárez
@BalmungSan
It seems the Scala 3 docs are still at RC1
Uhm, I hope the will update them soon.
Tom Grigg
@griggt
@BalmungSan 3.0.1-RC1, not 3.0.0-RC1
Luis Miguel Mejía Suárez
@BalmungSan
ups
But that import doesn't work on 3.0.0 so maybe it was just added?
Tom Grigg
@griggt
the docs for 3.0.0 are not online afaik
Luis Miguel Mejía Suárez
@BalmungSan
Ah it is another library @shvahabi:matrix.org https://github.com/lampepfl/xml-interpolator
Tom Grigg
@griggt
jinx
shvahabi
@shvahabi:matrix.org
[m]
Thanks @griggt and @BalmungSan it seems to be the right answer. But that library seems neither have a release nor being published to scaladex. How can I add it as a dependency? Any solution other than an unmanaged dependency in lib folder?
It also is not available under dotty here https://dotty.epfl.ch/api/index.html
Luis Miguel Mejía Suárez
@BalmungSan
@shvahabi:matrix.org lampepfl/xml-interpolator#17
1 reply
It seems that repo is just a PoC (that apparently was successful)
So the final results should be merged into scala-xml and published soon.
As of today, it seems there is not easy way of using it.
You may want to pop up in that issue and show interest in it being merged.
Felix Bruckmeier
@felixbr

Hi, I've noticed that getting the name of method parameters seems to have changed between 2.13.4 and 2.13.5.

When I have a method

def listCars(`airport-code`: String): Seq[String] = ???

and try to get the names via

classOf[RentalStation].getMethod("listCars", classOf[String]).getParameters.map(_.getName)

Previously it returned "airport-code" for the parameter and now it seems to return "airport$minuscode". My guess is the internal representation has changed and therefore the java reflection no longer works as expected. Is there any other way to solve this than a bandaid-solution using .replaceAll() ?

(This is not my code, so please don't explain to me that reflection is bad, I know that. I'm just trying to upgrade this very commonly used library)

Luis Miguel Mejía Suárez
@BalmungSan
Maybe using Scala reflection over Java one would provide better results?
(just a pointer, no idea how to do that, sorry)
Felix Bruckmeier
@felixbr
The end goal of my efforts is to make this library Scala 3 compatible. So using scala-reflect might indeed work but introducing it doesn't exactly help with the Scala 3 migration 🙂
Guillaume Martres
@smarter
The names had to be encoded because you can't store any random String as a parameter name
to get back the original names you'd have to decode them
Felix Bruckmeier
@felixbr
Is there a function to do that?
(it's in scala.reflect but it's actually part of scala-library)
Felix Bruckmeier
@felixbr
Thank you, this helps a lot :)
gitleet
@gitleet
does scala3 require a specific java version?
Rob Norris
@tpolecat
8+
gitleet
@gitleet
I have openjdk 14.02
Rob Norris
@tpolecat
I think it should work on any JVM >= 8
Luis Miguel Mejía Suárez
@BalmungSan
Are you getting some error?
gitleet
@gitleet
Why does the scala3 g8 template reference this scala version? https://github.com/scala/scala3.g8/blob/main/build.sbt#L4
2.12.13
Rob Norris
@tpolecat
That's for the g8 template project. The actual template code is down in https://github.com/scala/scala3.g8/tree/main/src/main/g8
gitleet
@gitleet
ah ok! Yes doing scalaVersion shows scala 3.0.0
Elvis Opoku Amoako
@Elvis020
any new things with scala3.0.0??
Rob Norris
@tpolecat
yes lots of new things
Elvis Opoku Amoako
@Elvis020
yaay..havenet had time to check to new stuff out yet, wil do very soon
Rob Norris
@tpolecat
http://dotty.epfl.ch/docs/reference/overview.html <- this section of the doc covers the changes
D Cameron Mauch
@DCameronMauch
Is it possible to create a class alias? I am reading this Spark parquet data, which apparently marks the type of one column as com.vividsolutions.jts.geom.Geometry. But now, in my updated code, it’s called org.locationtech.jts.geom.Geometry. Thus it fails to find an Encoder[Geometry]. I was wondering if I could somehow tell the JVM that the first one is actually at the second one.
heksesang
@heksenlied:matrix.org
[m]
You can create a type alias, might work if I understand your scenario correctly.
ollijh
@liff:matrix.org
[m]
will there ever be better-monadic-for for scala 3?
heksenlied
@heksenlied:matrix.org
[m]
The problems that it was made to solve are fixed in Scala 3, I think.
Rob Norris
@tpolecat
Not entirely fixed but the intent is that they will be. There is an open issue.
Fabio Epifani
@epifab

hello! In scala 2 I could have a type class to prove that another type class instance cannot exist:

sealed trait Negative[A]

object Negative {
  implicit def negative[T](implicit t: T): Negative[T] = new Negative[T] {}
  @implicitAmbiguous("Cannot negate ${T}")
  implicit def positive[T]: Negative[T] = new Negative[T] {}
}

What's the canonical way of achieving this in Scala 3?