This is the repository for the Typelevel fork of the Scala compiler.
- Report an issue;
- ... and contribute right here! Please, first read our development guidelines,
The Typelevel fork is conservative, so that it can present the most simple migration path possible. This means:
- Any project source that compiles and runs under
scalac
should compile and run undertlc
with the same set of flags. Two differences are allowed: warnings issued, and classpath (e.g.tlc
may require some classpath entries thatscalac
does not, or vice versa) - Sources that compile under both
scalac
andtlc
with the same flags should have the same semantics. - Any project binaries produced by
tlc
should load cleanly from ascalac
project and should be callable without FFI. In other words,tlc
should produce Scala APIs. The exact bytecode metadata may be distinct, so long as it is compatible.
Incompatible changes will be accepted, but only when under an
additional compiler flag prefixed with -Z
so that users can opt-in
to the changed behaviour.
We do not currently have a release but you can build and publish a version locally:
ant publish-local-opt -Dmaven.version.suffix="-typelevel"
Update your build.sbt
with:
scalaVersion := "2.11.3-typelevel"
libraryDependencies += "org.scala-lang" % "scala-typelevel" % scalaVersion.value
resolvers += Resolver.mavenLocal