Module metadata format is, like most other formats, subject to a debate about the “right” representation. At the time SoCLib started to grow, we needed:
.sd files were created to satisfy these goals. They are:
The .sd metadata format cannot express all of the ModuleInterface and SpecializationInterface protocols. Only a subset is supported.
For instance, .sd files can’t contain declarations of a module where dependent submodules list changes depending on a parameter (X is dependent on Y only if parameter z > 21). This is a feature for sake of simplicity. Other metadata providers could implement such a feature.
This is a custom file format, nobody else uses it.