5 PLaneT Compatibility

PLT maintains a package name resolver to serve packages that were developed using the original PLaneT package system. This compatibility resolver is at https://planet-compat.racket-lang.org/, which is included by default in the package-server search path.

Copies of PLaneT packages are automatically created by the server according to the following system: for all packages that are in the 4.x PLaneT repository, the latest minor version of ‹user/package.plt/major-version› will be available as planet-‹user›-‹package›‹major-version. For example, jaymccarthy/opencl.plt/1 minor version 2, will be available as planet-jaymccarthy-opencl1.

The contents of these copies is a single collection with the name "‹user›/‹package›‹major-version›" with all the files from the original PLaneT package in it.

Each file has been transliterated to use direct Racket-style requires rather than PLaneT-style requires. For example, if any file contains (planet jaymccarthy/opencl/module), then it is transliterated to jaymccarthy/opencl1/module. This transliteration is purely syntactic and is trivial to confuse, but works for most packages, in practice. Any transliterations that occurred are automatically added as dependencies for the compatibility package.

We do not intend to improve this compatibility system much more over time, because it is simply a stop-gap as developers port their PLaneT packages to the new system. Additionally, the existence of the compatibility server is not meant to imply that we will be removing PLaneT from existence in the near future.