Save 37% off PRO during our Black Friday Sale! »

Tooling for Scala3

9b888a029ae98abd2675b115ff0c4256?s=47 Rikito Taniguchi
October 23, 2021
98

Tooling for Scala3

#reactive_shinjuku

9b888a029ae98abd2675b115ff0c4256?s=128

Rikito Taniguchi

October 23, 2021
Tweet

Transcript

  1. Rikito Taniguchi (@tanishiking)
 (Weekend OSS contributor to Scala tooling) Tooling

    for Scala 3 Reactive System Meetup#7
  2. Scala 3 has landed 🎉

  3. 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
  4. Tooling for Scala 3 scalameta based tools • scalafmt •

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

    runner.dialect = scala3 .scalafmt.conf
  6. 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
  7. 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
  8. Metals & Scala 3 Metals works with Scala 3 !

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

    are still missing in Scala 3 😢 Exhaustive case completion Implement abstract members
  10. 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 !!