Bootstrapping of the Scala compiler

Scala CLI is not a compiler dependency. It is not required to build the compiler and never will be. Except for the buildtool that is written in Scala, the compiler has no Scala dependencies. SBT also is not a big problem to bootstrappability as we can build it with earlier versions of the compiler, which can be built by earlier versions of SBT. Finally, we will arrive at the compiler version that doesn’t require SBT.

We can go further back. The real problem appears around Scala 2.0 in 2006. It was built using the latest version of Scala 1. From what I see on the internet, it was Scala 1.4.0, which was written in Java with some extensions. The source of the compiler for those extensions was never published. I also don’t know if the source for Scala 1.4.0 is publicly available.

So to have full bootstrapping we need to have one of the two:

  • Interpreter/transpiler that is able to process Scala 2.0 source.
  • Sources for both Scala 1.4.0 (those may be published somewhere, I don’t know) and source for the compiler extensions used to build it.

Nothing more is required and nothing more affects the bootstrapping. Definitely, Scala CLI has nothing to do with it.

2 Likes