Discussion on the Scala Platform Process

The way I thought about the Scala Platform is just an artifact that depends on concrete versions of all the Scala Platform modules, so that when you add "org.scala-lang.modules" %% "platform" % "0.1" all the other Platform modules get automatically downloaded by sbt. I wanted also to contact the sbt maintainers to expose to user an easier way to depend on modules. But this is something that will be explored in the future.

There is a minor inconvenience for users with this approach because they need to remember the domain on which the classes live to import them (because every module has its own package). Note that forcing module maintainers to change all their package names by a “standard” Scala Platform package name is not the ideal solution. There’s an ongoing SIP proposal that will be submitted soon that aims at fixing this problem with package aliases. At the source level, module maintainers will be able to create package aliases so that the namer and symbol loader uses them interchangeably. The details are not fully worked out, but it seems like the best solution I’ve encountered so far.

1 Like