GraalVM native-image with Scala 3 reflection hell

This page summarizes the projects mentioned and recommended in the original post on /r/scala

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • sbt-native-image

    Plugin to generate native-image binaries with sbt

    The reason seems to be Scala 3's new encoding for lazy vals, where a reflective access to a variable called bitmap takes place. To demonstrate this, I took the http4s g8 template, set it up with Scala 3.1.0, added sbt native-image, started the nativeImageRunAgent and ran a single request against GET /joke. After stopping the server, the native-image run agent generated the reflective configs that are required for this path of execution. Comparing the generated Scala 2.13 with the Scala 3 configs, yields a bloated version for Scala 3 that contains these additional rules:

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • scala-3-lazy-reflective-access

    Discontinued Showcase of GraalVM native-image's configuration bloating up with Scala 3

    Here is the sample code, based on the http4s g8 template: https://github.com/taig/scala-3-lazy-reflective-access

  • dotty

    The Scala 3 compiler, also known as Dotty.

    See https://github.com/lampepfl/dotty/issues/13985, maybe the graalvm reflection config format could be enriched to support wildcards if it doesn't already?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • The thousand dollars one line mistake - SBT + PlayFramework

    1 project | dev.to | 1 Jul 2024
  • `boundary/break`: do you use it ? what do you do with it ?

    3 projects | /r/scala | 12 Jun 2023
  • Iron updates: turning opaque types into value objects

    2 projects | /r/scala | 6 Jun 2023
  • About Scala-Native

    4 projects | /r/scala | 13 Apr 2023
  • I've started writing a book on Scala 3 Macros

    1 project | /r/scala | 17 Mar 2023

Did you konow that Scala is
the 36th most popular programming language
based on number of metions?