Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tooling for Scala3

Rikito Taniguchi
October 23, 2021
370

Tooling for Scala3

#reactive_shinjuku

Rikito Taniguchi

October 23, 2021
Tweet

Transcript

  1. Requirements for transition to Scala 3 Requirements IMO • Stabilizing

    the compiler • More learning resources • Libraries support for Scala 3 • Tooling support for Scala 3 👈 today’s topic
  2. Tooling for Scala 3 scalameta based tools • scalafmt •

    scala fi x • metals TL;DR Basic Scala 3 supports are already done.
 Ready to use!
  3. Scalafmt & Scala 3 scalafmt v3 supports Scala 3 Specify

    runner.dialect = scala3 .scalafmt.conf
  4. Scalafix & Scala 3 Scala fi x v0.9.28 introduces experimental

    Scala 3 support ! https://github.com/liancheng/scala fi x-organize-imports#scala-3 liancheng/scala fi x-organize-imports works with Scala 3
  5. Write your own rule for Scala 3 sbt new scalacenter/scala

    fi x.g 8 ↑ generates a rule template that runs both on Scala 2 and Scala 3 You can write both SyntacticRule and SemanticRule
  6. Metals & Scala 3 Metals works with Scala 3 !

    Code Completion Code Navigation / Hover Show inferred type (will be available with Scala 3.1.0)
  7. Metals & Scala 3 - Missing features Some advanced features

    are still missing in Scala 3 😢 Exhaustive case completion Implement abstract members
  8. Today’s takeaway • Many tools already have basic supports for

    Scala 3 ! • Some features are missing… need more e ff ort 💪 • Please try it out, and give us feedback. HAPPY CODING WITH SCALA 3 !!