Metals

Presentation Compiler

Interactive Compiler

Compiler

Compiler

Metals

Presentation Compiler

Interactive Compiler

Compiler

lampepfl/dotty

Compiler

scalameta/metals

Presentation Compiler Tradeoffs

Benefits Drawbacks
1 - 1 relation with the compiler strictly bound to the version
bugs can be fixed for older Scala Version released from another repository
API can change
it can be broken by the compiler team
latest syntax and features may require additional changes thus may be not released immediately

Stable Presentation Compiler

Metals

Presentation Compiler

Interactive Compiler

Compiler

Compiler

lampepfl/dotty

scalameta/metals

Metals

Presentation Compiler

Interactive Compiler

Compiler

Compiler

lampepfl/dotty

scalameta/metals

Stable Presentation Compiler

2017

Scala 3 Presentation Compiler with Dotty Language Server

2020

Scala 3 support in Metals

First Presentation Compiler

2009

2012

First Scala 3 commit

Stable Presentation Compiler

2017

Scala 3 Presentation Compiler with Dotty Language Server

2020

Scala 3 support in Metals

2023

Scala 3 Presentation Compiler provided by Dotty

First Presentation Compiler

2009

2012

First Scala 3 commit

What's the difference ?

Benefits Drawbacks
Presentation Compiler is released along Scala Compiler bugfixing / adding new features to already released version is more expensive
1 - 1 relation with the compiler workflow is slower as everything happens in the compiler
compiler team won't break it by accident
API is stabilized and tested with MiMa

Copy of deck

By rochala

Copy of deck

  • 24